diff --git a/DEPS b/DEPS
index 2aeb209..dba2fe3 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': 'c8f1e3a5c08d58657dddccdeedbe5d6e8c16d891',
+  'skia_revision': '3c322e23a013e78fcbe0edd7adccd580af8466bc',
   # 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': '376fd4b2eb6a1ff398d4a8b58ce1ce9feb5273db',
+  'v8_revision': '4081c2cd6723d00797e5dfc858d206a09e1e6c4e',
   # 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.
@@ -64,7 +64,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
-  'pdfium_revision': '8f2fa901ed692f95a134b2bed6a0af3ec14e06df',
+  'pdfium_revision': 'a11ac1bedef8c7a55b7e35ec89f5bdcbfcdc5025',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling openmax_dl
   # 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': '78c8d7338e35e82db61513bb2f328c0764d2fe00',
+  'catapult_revision': 'c81620124f0f99a051d5362667043bda6f1ffddd',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -124,7 +124,7 @@
 
 deps = {
   'src/breakpad/src':
-    Var('chromium_git') + '/breakpad/breakpad/src.git' + '@' + 'eaedc4571ccc7438955c084b8923dcf9e852bd47',
+    Var('chromium_git') + '/breakpad/breakpad/src.git' + '@' + '37070c5e680f3356f7b14d239518a104edbc2c97',
 
   'src/buildtools':
     Var('chromium_git') + '/chromium/buildtools.git' + '@' +  Var('buildtools_revision'),
diff --git a/ash/common/shelf/app_list_button.cc b/ash/common/shelf/app_list_button.cc
index a2c9227..9898689 100644
--- a/ash/common/shelf/app_list_button.cc
+++ b/ash/common/shelf/app_list_button.cc
@@ -4,25 +4,17 @@
 
 #include "ash/common/shelf/app_list_button.h"
 
-#include "ash/common/ash_constants.h"
-#include "ash/common/material_design/material_design_controller.h"
 #include "ash/common/shelf/ink_drop_button_listener.h"
 #include "ash/common/shelf/shelf_constants.h"
-#include "ash/common/shelf/shelf_item_types.h"
 #include "ash/common/shelf/shelf_view.h"
 #include "ash/common/shelf/wm_shelf.h"
-#include "ash/common/shelf/wm_shelf_util.h"
 #include "ash/common/strings/grit/ash_strings.h"
 #include "ash/common/system/tray/tray_popup_utils.h"
 #include "ash/common/wm_shell.h"
 #include "ash/public/cpp/shelf_types.h"
-#include "ash/resources/grit/ash_resources.h"
-#include "base/command_line.h"
 #include "base/memory/ptr_util.h"
 #include "ui/accessibility/ax_node_data.h"
-#include "ui/app_list/app_list_switches.h"
 #include "ui/base/l10n/l10n_util.h"
-#include "ui/base/resource/resource_bundle.h"
 #include "ui/gfx/canvas.h"
 #include "ui/gfx/scoped_canvas.h"
 #include "ui/views/animation/flood_fill_ink_drop_ripple.h"
@@ -37,7 +29,6 @@
                              WmShelf* wm_shelf)
     : views::ImageButton(nullptr),
       is_showing_app_list_(false),
-      draw_background_as_active_(false),
       background_color_(kShelfDefaultBaseColor),
       listener_(listener),
       shelf_view_(shelf_view),
@@ -45,11 +36,10 @@
   DCHECK(listener_);
   DCHECK(shelf_view_);
   DCHECK(wm_shelf_);
-  if (ash::MaterialDesignController::IsShelfMaterial()) {
-    SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER);
-    set_ink_drop_base_color(kShelfInkDropBaseColor);
-    set_ink_drop_visible_opacity(kShelfInkDropVisibleOpacity);
-  }
+
+  SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER);
+  set_ink_drop_base_color(kShelfInkDropBaseColor);
+  set_ink_drop_visible_opacity(kShelfInkDropVisibleOpacity);
   SetAccessibleName(
       l10n_util::GetStringUTF16(IDS_ASH_SHELF_APP_LIST_LAUNCHER_TITLE));
   SetSize(
@@ -61,19 +51,13 @@
 AppListButton::~AppListButton() {}
 
 void AppListButton::OnAppListShown() {
-  if (ash::MaterialDesignController::IsShelfMaterial())
-    AnimateInkDrop(views::InkDropState::ACTIVATED, nullptr);
-  else
-    SchedulePaint();
+  AnimateInkDrop(views::InkDropState::ACTIVATED, nullptr);
   is_showing_app_list_ = true;
   wm_shelf_->UpdateAutoHideState();
 }
 
 void AppListButton::OnAppListDismissed() {
-  if (ash::MaterialDesignController::IsShelfMaterial())
-    AnimateInkDrop(views::InkDropState::DEACTIVATED, nullptr);
-  else
-    SchedulePaint();
+  AnimateInkDrop(views::InkDropState::DEACTIVATED, nullptr);
   is_showing_app_list_ = false;
   wm_shelf_->UpdateAutoHideState();
 }
@@ -106,13 +90,9 @@
 }
 
 void AppListButton::OnGestureEvent(ui::GestureEvent* event) {
-  const bool is_material = ash::MaterialDesignController::IsShelfMaterial();
   switch (event->type()) {
     case ui::ET_GESTURE_SCROLL_BEGIN:
-      if (is_material)
-        AnimateInkDrop(views::InkDropState::HIDDEN, event);
-      else
-        SetDrawBackgroundAsActive(false);
+      AnimateInkDrop(views::InkDropState::HIDDEN, event);
       shelf_view_->PointerPressedOnButton(this, ShelfView::TOUCH, *event);
       event->SetHandled();
       return;
@@ -126,18 +106,10 @@
       event->SetHandled();
       return;
     case ui::ET_GESTURE_TAP_DOWN:
-      if (!is_material)
-        SetDrawBackgroundAsActive(true);
-      else if (!WmShell::Get()->IsApplistVisible())
+      if (!WmShell::Get()->IsApplistVisible())
         AnimateInkDrop(views::InkDropState::ACTION_PENDING, event);
       ImageButton::OnGestureEvent(event);
       break;
-    case ui::ET_GESTURE_TAP_CANCEL:
-    case ui::ET_GESTURE_TAP:
-      if (!is_material)
-        SetDrawBackgroundAsActive(false);
-      ImageButton::OnGestureEvent(event);
-      break;
     default:
       ImageButton::OnGestureEvent(event);
       return;
@@ -148,19 +120,6 @@
   // Call the base class first to paint any background/borders.
   View::OnPaint(canvas);
 
-  if (ash::MaterialDesignController::IsShelfMaterial()) {
-    PaintMd(canvas);
-  } else {
-    ResourceBundle& rb = ResourceBundle::GetSharedInstance();
-    const gfx::ImageSkia& foreground_image =
-        *rb.GetImageNamed(IDR_ASH_SHELF_ICON_APPLIST).ToImageSkia();
-    PaintAppListButton(canvas, foreground_image);
-  }
-
-  views::Painter::PaintFocusPainter(this, canvas, focus_painter());
-}
-
-void AppListButton::PaintMd(gfx::Canvas* canvas) {
   gfx::PointF circle_center(GetCenterPoint());
 
   // Paint the circular background.
@@ -187,56 +146,8 @@
   fg_flags.setStrokeWidth(thickness);
   // Make sure the center of the circle lands on pixel centers.
   canvas->DrawCircle(circle_center, radius, fg_flags);
-}
 
-void AppListButton::PaintAppListButton(gfx::Canvas* canvas,
-                                       const gfx::ImageSkia& foreground_image) {
-  int background_image_id = 0;
-
-  if (WmShell::Get()->GetAppListTargetVisibility() ||
-      draw_background_as_active_) {
-    background_image_id = IDR_AURA_LAUNCHER_BACKGROUND_PRESSED;
-  } else {
-    background_image_id = IDR_AURA_LAUNCHER_BACKGROUND_NORMAL;
-  }
-
-  ResourceBundle& rb = ResourceBundle::GetSharedInstance();
-  gfx::ImageSkia background_image =
-      *rb.GetImageNamed(background_image_id).ToImageSkia();
-  gfx::Rect background_bounds(background_image.size());
-  ShelfAlignment alignment = wm_shelf_->GetAlignment();
-  gfx::Rect contents_bounds = GetContentsBounds();
-
-  if (alignment == SHELF_ALIGNMENT_LEFT) {
-    background_bounds.set_x(contents_bounds.width() - kShelfItemInset -
-                            background_image.width());
-    background_bounds.set_y(
-        contents_bounds.y() +
-        (contents_bounds.height() - background_image.height()) / 2);
-  } else if (alignment == SHELF_ALIGNMENT_RIGHT) {
-    background_bounds.set_x(kShelfItemInset);
-    background_bounds.set_y(
-        contents_bounds.y() +
-        (contents_bounds.height() - background_image.height()) / 2);
-  } else {
-    background_bounds.set_y(kShelfItemInset);
-    background_bounds.set_x(
-        contents_bounds.x() +
-        (contents_bounds.width() - background_image.width()) / 2);
-  }
-
-  canvas->DrawImageInt(background_image, background_bounds.x(),
-                       background_bounds.y());
-  gfx::Rect foreground_bounds(foreground_image.size());
-  foreground_bounds.set_x(
-      background_bounds.x() +
-      std::max(0, (background_bounds.width() - foreground_bounds.width()) / 2));
-  foreground_bounds.set_y(
-      background_bounds.y() +
-      std::max(0,
-               (background_bounds.height() - foreground_bounds.height()) / 2));
-  canvas->DrawImageInt(foreground_image, foreground_bounds.x(),
-                       foreground_bounds.y());
+  views::Painter::PaintFocusPainter(this, canvas, focus_painter());
 }
 
 void AppListButton::GetAccessibleNodeData(ui::AXNodeData* node_data) {
@@ -282,13 +193,6 @@
                                                     kAppListButtonRadius);
 }
 
-void AppListButton::SetDrawBackgroundAsActive(bool draw_background_as_active) {
-  if (draw_background_as_active_ == draw_background_as_active)
-    return;
-  draw_background_as_active_ = draw_background_as_active;
-  SchedulePaint();
-}
-
 gfx::Point AppListButton::GetCenterPoint() const {
   // For a bottom-aligned shelf, the button bounds could have a larger height
   // than width (in the case of touch-dragging the shelf updwards) or a larger
diff --git a/ash/common/shelf/app_list_button.h b/ash/common/shelf/app_list_button.h
index e6d55bf1..d4a0fbe 100644
--- a/ash/common/shelf/app_list_button.h
+++ b/ash/common/shelf/app_list_button.h
@@ -28,8 +28,6 @@
 
   bool is_showing_app_list() const { return is_showing_app_list_; }
 
-  bool draw_background_as_active() const { return draw_background_as_active_; }
-
   // Updates background and schedules a paint.
   void UpdateShelfItemBackground(SkColor color);
 
@@ -51,17 +49,6 @@
   void OnGestureEvent(ui::GestureEvent* event) override;
 
  private:
-  // Toggles the active state for painting the background and schedules a paint.
-  void SetDrawBackgroundAsActive(bool draw_background_as_active);
-
-  // Helper function to paint the background and foreground of the AppList
-  // button in Chrome OS MD.
-  void PaintMd(gfx::Canvas* canvas);
-
-  // Helper function to paint the AppList button in Chrome OS non-MD.
-  void PaintAppListButton(gfx::Canvas* canvas,
-                          const gfx::ImageSkia& foreground_image);
-
   // Get the center point of the app list button used to draw its background and
   // ink drops.
   gfx::Point GetCenterPoint() const;
@@ -70,10 +57,6 @@
   // This is useful because other IsApplistVisible functions aren't per-display.
   bool is_showing_app_list_;
 
-  // True if the background should render as active, regardless of the state of
-  // the application list.
-  bool draw_background_as_active_;
-
   // Color used to paint the background.
   SkColor background_color_;
 
diff --git a/ash/resources/ash_resources.grd b/ash/resources/ash_resources.grd
index c3b084a..4e214cb 100644
--- a/ash/resources/ash_resources.grd
+++ b/ash/resources/ash_resources.grd
@@ -12,7 +12,6 @@
       <!-- KEEP THESE IN ALPHABETICAL ORDER!  DO NOT ADD TO RANDOM PLACES JUST
            BECAUSE YOUR RESOURCES ARE FUNCTIONALLY RELATED OR FALL UNDER THE
            SAME CONDITIONALS. -->
-      <structure type="chrome_scaled_image" name="IDR_ASH_SHELF_ICON_APPLIST" file="common/shelf/status_launcher_menu_icon.png" />
       <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_OVERFLOW" file="common/shelf/shelf_overflow.png" />
@@ -24,8 +23,6 @@
       <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_LAUNCHER_BACKGROUND_NORMAL" file="common/shelf/status_launcher_icon_background_normal.png" />
-      <structure type="chrome_scaled_image" name="IDR_AURA_LAUNCHER_BACKGROUND_PRESSED" file="common/shelf/status_launcher_icon_background_pressed.png" />
       <structure type="chrome_scaled_image" name="IDR_AURA_NOTIFICATION_BACKGROUND_NORMAL" file="common/shelf/status_icon_background_normal.png" />
       <structure type="chrome_scaled_image" name="IDR_AURA_NOTIFICATION_BACKGROUND_PRESSED" file="common/shelf/status_icon_background_pressed.png" />
       <structure type="chrome_scaled_image" name="IDR_AURA_PHANTOM_WINDOW_BOTTOM" file="common/phantom_window_bottom.png" />
diff --git a/ash/resources/default_100_percent/common/shelf/status_launcher_icon_background_normal.png b/ash/resources/default_100_percent/common/shelf/status_launcher_icon_background_normal.png
deleted file mode 100644
index f36f875b..0000000
--- a/ash/resources/default_100_percent/common/shelf/status_launcher_icon_background_normal.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/shelf/status_launcher_icon_background_pressed.png b/ash/resources/default_100_percent/common/shelf/status_launcher_icon_background_pressed.png
deleted file mode 100644
index 4c46c41..0000000
--- a/ash/resources/default_100_percent/common/shelf/status_launcher_icon_background_pressed.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_100_percent/common/shelf/status_launcher_menu_icon.png b/ash/resources/default_100_percent/common/shelf/status_launcher_menu_icon.png
deleted file mode 100644
index c00b2926..0000000
--- a/ash/resources/default_100_percent/common/shelf/status_launcher_menu_icon.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/shelf/status_launcher_icon_background_normal.png b/ash/resources/default_200_percent/common/shelf/status_launcher_icon_background_normal.png
deleted file mode 100644
index 4de8fa4..0000000
--- a/ash/resources/default_200_percent/common/shelf/status_launcher_icon_background_normal.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/shelf/status_launcher_icon_background_pressed.png b/ash/resources/default_200_percent/common/shelf/status_launcher_icon_background_pressed.png
deleted file mode 100644
index d916e54..0000000
--- a/ash/resources/default_200_percent/common/shelf/status_launcher_icon_background_pressed.png
+++ /dev/null
Binary files differ
diff --git a/ash/resources/default_200_percent/common/shelf/status_launcher_menu_icon.png b/ash/resources/default_200_percent/common/shelf/status_launcher_menu_icon.png
deleted file mode 100644
index a508a660..0000000
--- a/ash/resources/default_200_percent/common/shelf/status_launcher_menu_icon.png
+++ /dev/null
Binary files differ
diff --git a/base/trace_event/memory_usage_estimator.h b/base/trace_event/memory_usage_estimator.h
index 1f4132bd..6f02bb9 100644
--- a/base/trace_event/memory_usage_estimator.h
+++ b/base/trace_event/memory_usage_estimator.h
@@ -22,6 +22,7 @@
 #include <vector>
 
 #include "base/base_export.h"
+#include "base/containers/linked_list.h"
 #include "base/strings/string16.h"
 #include "base/template_util.h"
 
@@ -111,6 +112,9 @@
 template <class T, class A>
 size_t EstimateMemoryUsage(const std::list<T, A>& list);
 
+template <class T>
+size_t EstimateMemoryUsage(const base::LinkedList<T>& list);
+
 template <class T, class C, class A>
 size_t EstimateMemoryUsage(const std::set<T, C, A>& set);
 
@@ -352,6 +356,18 @@
          EstimateIterableMemoryUsage(list);
 }
 
+template <class T>
+size_t EstimateMemoryUsage(const base::LinkedList<T>& list) {
+  size_t memory_usage = 0u;
+  for (base::LinkNode<T>* node = list.head(); node != list.end();
+       node = node->next()) {
+    // Since we increment by calling node = node->next() we know that node
+    // isn't nullptr.
+    memory_usage += EstimateMemoryUsage(*node->value()) + sizeof(T);
+  }
+  return memory_usage;
+}
+
 // Tree containers
 
 template <class V>
diff --git a/breakpad/symupload.exe b/breakpad/symupload.exe
index 584151b..9ddf91d 100755
--- a/breakpad/symupload.exe
+++ b/breakpad/symupload.exe
Binary files differ
diff --git a/cc/surfaces/display.cc b/cc/surfaces/display.cc
index 0e2c932b..f56de857 100644
--- a/cc/surfaces/display.cc
+++ b/cc/surfaces/display.cc
@@ -7,6 +7,8 @@
 #include <stddef.h>
 
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_macros.h"
+#include "base/timer/elapsed_timer.h"
 #include "base/trace_event/trace_event.h"
 #include "cc/debug/benchmark_instrumentation.h"
 #include "cc/output/compositor_frame.h"
@@ -248,7 +250,10 @@
     return false;
   }
 
+  base::ElapsedTimer aggregate_timer;
   CompositorFrame frame = aggregator_->Aggregate(current_surface_id_);
+  UMA_HISTOGRAM_COUNTS_1M("Compositing.SurfaceAggregator.AggregateUs",
+                          aggregate_timer.Elapsed().InMicroseconds());
 
   if (frame.render_pass_list.empty()) {
     TRACE_EVENT_INSTANT0("cc", "Empty aggregated frame.",
@@ -315,9 +320,17 @@
       DCHECK(!disable_image_filtering);
     }
 
+    base::ElapsedTimer draw_timer;
     renderer_->DecideRenderPassAllocationsForFrame(frame.render_pass_list);
     renderer_->DrawFrame(&frame.render_pass_list, device_scale_factor_,
                          current_surface_size_);
+    if (software_renderer_) {
+      UMA_HISTOGRAM_COUNTS_1M("Compositing.DirectRenderer.Software.DrawFrameUs",
+                              draw_timer.Elapsed().InMicroseconds());
+    } else {
+      UMA_HISTOGRAM_COUNTS_1M("Compositing.DirectRenderer.GL.DrawFrameUs",
+                              draw_timer.Elapsed().InMicroseconds());
+    }
   } else {
     TRACE_EVENT_INSTANT0("cc", "Draw skipped.", TRACE_EVENT_SCOPE_THREAD);
   }
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index 27dad66..a3587b9 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -35,6 +35,8 @@
     default_chrome_public_jinja_variables +
     [ "manifest_package=org.chromium.chrome.sync_shell" ]
 
+app_hooks_impl = "java/src/org/chromium/chrome/browser/AppHooksImpl.java"
+
 if (enable_resource_whitelist_generation) {
   monochrome_resource_whitelist =
       "$target_gen_dir/monochrome_resource_whitelist.txt"
@@ -150,6 +152,13 @@
   ]
 }
 
+android_library("app_hooks_java") {
+  java_files = [ app_hooks_impl ]
+  deps = [
+    ":chrome_java",
+  ]
+}
+
 android_library("chrome_java") {
   deps = [
     ":chrome_java_resources",
@@ -255,12 +264,16 @@
   android_manifest = chrome_public_android_manifest
 
   # From java_sources.gni.
-  java_files = chrome_java_sources
+  java_files = chrome_java_sources + [ app_hooks_impl ]
 
   if (enable_webvr) {
     java_files += chrome_vr_java_sources
     deps += [ "//third_party/gvr-android-sdk:gvr_common_java" ]
   }
+
+  # Add the actual implementation where necessary so that downstream targets
+  # can provide their own implementations.
+  jar_excluded_patterns = [ "*/AppHooksImpl.class" ]
 }
 
 action("chrome_android_java_google_api_keys_srcjar") {
@@ -312,6 +325,7 @@
   # From java_sources.gni.
   java_files = chrome_junit_test_java_sources
   deps = [
+    ":app_hooks_java",
     ":chrome_java",
     ":chrome_java_resources",
     "//base:base_java",
@@ -382,6 +396,7 @@
   deps = [
     "//base:base_java",
     "//base:base_java_test_support",
+    "//chrome/android:app_hooks_java",
     "//chrome/android:chrome_java",
     "//chrome/android/webapk/libs/client:client_java",
     "//chrome/android/webapk/libs/common:common_java",
@@ -476,6 +491,7 @@
   deps = [
     "//base:base_java",
     "//base:base_java_test_support",
+    "//chrome/android:app_hooks_java",
     "//chrome/android:chrome_java",
     "//chrome/test/android:chrome_java_test_support",
     "//components/policy/android:policy_java",
@@ -489,7 +505,7 @@
   ]
 
   data = [
-    "//chrome/test/data/android",
+    "//chrome/test/data/android/",
     "//third_party/WebKit/LayoutTests/resources/testharness.js",
   ]
 }
@@ -692,6 +708,7 @@
     }
 
     deps += [
+      ":app_hooks_java",
       ":chrome_java",
       ":chrome_public_apk_resources",
       ":chrome_public_non_pak_assets",
@@ -725,6 +742,7 @@
 
   deps = [
     "//base:base_java",
+    "//chrome/android:app_hooks_java",
     "//chrome/android:chrome_java",
     "//chrome/android/java/templates:public_monochrome_java",
   ]
@@ -816,6 +834,7 @@
   deps = [
     "//base:base_java",
     "//base:base_java_test_support",
+    "//chrome/android:app_hooks_java",
     "//chrome/android:chrome_java",
     "//chrome/test/android:chrome_java_test_support",
     "//components/bookmarks/common/android:bookmarks_java",
diff --git a/chrome/android/java/res/layout/custom_tabs_toolbar.xml b/chrome/android/java/res/layout/custom_tabs_toolbar.xml
index ae41340..dee0773 100644
--- a/chrome/android/java/res/layout/custom_tabs_toolbar.xml
+++ b/chrome/android/java/res/layout/custom_tabs_toolbar.xml
@@ -82,10 +82,4 @@
         android:src="@drawable/btn_menu"
         android:contentDescription="@string/accessibility_toolbar_btn_menu"
         android:background="@null" />
-    <org.chromium.chrome.browser.widget.ToolbarProgressBar
-        android:id="@+id/progress"
-        android:layout_width="match_parent"
-        android:layout_height="2dp"
-        chrome:progressBarColor="@color/progress_bar_foreground"
-        chrome:backgroundColor="@color/progress_bar_background" />
 </org.chromium.chrome.browser.toolbar.CustomTabToolbar>
diff --git a/chrome/android/java/res/layout/tile_view.xml b/chrome/android/java/res/layout/tile_view.xml
index 2dbcc11..fb68c31 100644
--- a/chrome/android/java/res/layout/tile_view.xml
+++ b/chrome/android/java/res/layout/tile_view.xml
@@ -21,6 +21,15 @@
         android:layout_marginTop="@dimen/tile_view_icon_margin_top"
         android:contentDescription="@null" />
 
+    <!-- The touch highlight. -->
+    <View
+        android:id="@+id/tile_view_highlight"
+        android:layout_width="@dimen/tile_view_icon_size"
+        android:layout_height="@dimen/tile_view_icon_size"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginTop="@dimen/tile_view_icon_margin_top"
+        android:background="@drawable/tile_view_highlight" />
+
     <!-- The offline badge. -->
     <org.chromium.chrome.browser.widget.TintedImageView
         android:id="@+id/offline_badge"
@@ -33,15 +42,6 @@
         chrome:tint="@color/tile_view_offline_badge_tint"
         android:src="@drawable/offline_pin_round" />
 
-    <!-- The touch highlight. -->
-    <View
-        android:id="@+id/tile_view_highlight"
-        android:layout_width="@dimen/tile_view_icon_size"
-        android:layout_height="@dimen/tile_view_icon_size"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginTop="@dimen/tile_view_icon_margin_top"
-        android:background="@drawable/tile_view_highlight" />
-
     <!-- The title. -->
     <TextView
         android:id="@+id/tile_view_title"
diff --git a/chrome/android/java/res/layout/toolbar_phone_common.xml b/chrome/android/java/res/layout/toolbar_phone_common.xml
index 1a9cb263..595e556 100644
--- a/chrome/android/java/res/layout/toolbar_phone_common.xml
+++ b/chrome/android/java/res/layout/toolbar_phone_common.xml
@@ -68,11 +68,4 @@
         </FrameLayout>
     </LinearLayout>
 
-    <org.chromium.chrome.browser.widget.ToolbarProgressBar
-        android:id="@+id/progress"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/toolbar_progress_bar_height"
-        chrome:progressBarColor="@color/progress_bar_foreground"
-        chrome:backgroundColor="@color/progress_bar_background" />
-
 </merge>
diff --git a/chrome/android/java/res/values/attrs.xml b/chrome/android/java/res/values/attrs.xml
index e4c10fae..cbcf2b9 100644
--- a/chrome/android/java/res/values/attrs.xml
+++ b/chrome/android/java/res/values/attrs.xml
@@ -52,11 +52,6 @@
         <attr name="maxHeight" format="dimension" />
     </declare-styleable>
 
-    <declare-styleable name="ClipDrawableProgressBar">
-        <attr name="progressBarColor" format="reference|color" />
-        <attr name="backgroundColor" format="reference|color" />
-    </declare-styleable>
-
     <declare-styleable name="MaterialProgressBar">
         <attr name="colorBackground" format="reference|color" />
         <attr name="colorProgress" format="reference|color" />
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
new file mode 100644
index 0000000..fa32532
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -0,0 +1,285 @@
+// 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;
+
+import android.app.Notification;
+import android.content.Intent;
+import android.os.Handler;
+import android.os.Looper;
+
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.banners.AppDetailsDelegate;
+import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
+import org.chromium.chrome.browser.datausage.ExternalDataUseObserver;
+import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
+import org.chromium.chrome.browser.feedback.EmptyFeedbackReporter;
+import org.chromium.chrome.browser.feedback.FeedbackReporter;
+import org.chromium.chrome.browser.gsa.GSAHelper;
+import org.chromium.chrome.browser.help.HelpAndFeedback;
+import org.chromium.chrome.browser.historyreport.AppIndexingReporter;
+import org.chromium.chrome.browser.init.ProcessInitializationHandler;
+import org.chromium.chrome.browser.instantapps.InstantAppsHandler;
+import org.chromium.chrome.browser.locale.LocaleManager;
+import org.chromium.chrome.browser.media.VideoPersister;
+import org.chromium.chrome.browser.metrics.VariationsSession;
+import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
+import org.chromium.chrome.browser.net.qualityprovider.ExternalEstimateProviderAndroid;
+import org.chromium.chrome.browser.omaha.RequestGenerator;
+import org.chromium.chrome.browser.physicalweb.PhysicalWebBleClient;
+import org.chromium.chrome.browser.policy.PolicyAuditor;
+import org.chromium.chrome.browser.preferences.LocationSettings;
+import org.chromium.chrome.browser.rlz.RevenueStats;
+import org.chromium.chrome.browser.services.AndroidEduOwnerCheckCallback;
+import org.chromium.chrome.browser.signin.GoogleActivityController;
+import org.chromium.chrome.browser.sync.GmsCoreSyncListener;
+import org.chromium.chrome.browser.tab.AuthenticatorNavigationInterceptor;
+import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.webapps.ChromeShortcutManager;
+import org.chromium.chrome.browser.webapps.GooglePlayWebApkInstallDelegate;
+import org.chromium.components.signin.AccountManagerDelegate;
+import org.chromium.components.signin.SystemAccountManagerDelegate;
+import org.chromium.policy.AppRestrictionsProvider;
+import org.chromium.policy.CombinedPolicyProvider;
+
+/**
+ * Base class for defining methods where different behavior is required by downstream targets.
+ * The correct version of {@link AppHooksImpl} will be determined at compile time via build rules.
+ * See http://crbug/560466.
+ */
+public abstract class AppHooks {
+    private static AppHooksImpl sInstance;
+
+    public static AppHooks get() {
+        if (sInstance == null) {
+            sInstance = new AppHooksImpl();
+        }
+        return sInstance;
+    }
+
+    /**
+     * Initiate AndroidEdu device check.
+     * @param callback Callback that should receive the results of the AndroidEdu device check.
+     */
+    public void checkIsAndroidEduDevice(final AndroidEduOwnerCheckCallback callback) {
+        new Handler(Looper.getMainLooper()).post(new Runnable() {
+            @Override
+            public void run() {
+                callback.onSchoolCheckDone(false);
+            }
+        });
+    }
+
+    /**
+     * Creates a new {@link AccountManagerDelegate}.
+     * @return the created {@link AccountManagerDelegate}.
+     */
+    public AccountManagerDelegate createAccountManagerDelegate() {
+        return new SystemAccountManagerDelegate(ContextUtils.getApplicationContext());
+    }
+
+    /**
+     * @return An instance of AppDetailsDelegate that can be queried about app information for the
+     *         App Banner feature.  Will be null if one is unavailable.
+     */
+    public AppDetailsDelegate createAppDetailsDelegate() {
+        return null;
+    }
+
+    /**
+     * Creates a new {@link AppIndexingReporter}.
+     * @return the created {@link AppIndexingReporter}.
+     */
+    public AppIndexingReporter createAppIndexingReporter() {
+        return new AppIndexingReporter();
+    }
+
+    /**
+     * Return a {@link AuthenticatorNavigationInterceptor} for the given {@link Tab}.
+     * This can be null if there are no applicable interceptor to be built.
+     */
+    public AuthenticatorNavigationInterceptor createAuthenticatorNavigationInterceptor(Tab tab) {
+        return null;
+    }
+
+    /** Returns the singleton instance of ChromeShortcutManager */
+    public ChromeShortcutManager createChromeShortcutManager() {
+        return new ChromeShortcutManager();
+    }
+
+    /**
+     * @return An instance of {@link CustomTabsConnection}. Should not be called
+     * outside of {@link CustomTabsConnection#getInstance()}.
+     */
+    public CustomTabsConnection createCustomTabsConnection() {
+        return new CustomTabsConnection(((ChromeApplication) ContextUtils.getApplicationContext()));
+    }
+
+    /**
+     * @return An instance of ExternalAuthUtils to be installed as a singleton.
+     */
+    public ExternalAuthUtils createExternalAuthUtils() {
+        return new ExternalAuthUtils();
+    }
+
+    /**
+     * @return An external observer of data use.
+     * @param nativePtr Pointer to the native ExternalDataUseObserver object.
+     */
+    public ExternalDataUseObserver createExternalDataUseObserver(long nativePtr) {
+        return new ExternalDataUseObserver(nativePtr);
+    }
+
+    /**
+     * @return A provider of external estimates.
+     * @param nativePtr Pointer to the native ExternalEstimateProviderAndroid object.
+     */
+    public ExternalEstimateProviderAndroid createExternalEstimateProviderAndroid(long nativePtr) {
+        return new ExternalEstimateProviderAndroid(nativePtr) {};
+    }
+
+    /**
+     * @return An instance of {@link FeedbackReporter} to report feedback.
+     */
+    public FeedbackReporter createFeedbackReporter() {
+        return new EmptyFeedbackReporter();
+    }
+
+    /**
+     * @return An instance of GmsCoreSyncListener to notify GmsCore of sync encryption key changes.
+     *         Will be null if one is unavailable.
+     */
+    public GmsCoreSyncListener createGmsCoreSyncListener() {
+        return null;
+    }
+
+    /**
+     * @return An instance of GoogleActivityController.
+     */
+    public GoogleActivityController createGoogleActivityController() {
+        return new GoogleActivityController();
+    }
+
+    /**
+     * @return An instance of {@link GSAHelper} that handles the start point of chrome's integration
+     *         with GSA.
+     */
+    public GSAHelper createGsaHelper() {
+        return new GSAHelper();
+    }
+
+    /**
+     * Returns a new instance of HelpAndFeedback.
+     */
+    public HelpAndFeedback createHelpAndFeedback() {
+        return new HelpAndFeedback();
+    }
+
+    public InstantAppsHandler createInstantAppsHandler() {
+        return new InstantAppsHandler();
+    }
+
+    /**
+     * @return An instance of {@link LocaleManager} that handles customized locale related logic.
+     */
+    public LocaleManager createLocaleManager() {
+        return new LocaleManager();
+    }
+
+    /**
+     * Returns an instance of LocationSettings to be installed as a singleton.
+     */
+    public LocationSettings createLocationSettings() {
+        // Using an anonymous subclass as the constructor is protected.
+        // This is done to deter instantiation of LocationSettings elsewhere without using the
+        // getInstance() helper method.
+        return new LocationSettings() {};
+    }
+
+    /**
+     * @return An instance of MultiWindowUtils to be installed as a singleton.
+     */
+    public MultiWindowUtils createMultiWindowUtils() {
+        return new MultiWindowUtils();
+    }
+
+    /**
+     * @return An instance of RequestGenerator to be used for Omaha XML creation.  Will be null if
+     *         a generator is unavailable.
+     */
+    public RequestGenerator createOmahaRequestGenerator() {
+        return null;
+    }
+
+    /**
+     * @return A new {@link PhysicalWebBleClient} instance.
+     */
+    public PhysicalWebBleClient createPhysicalWebBleClient() {
+        return new PhysicalWebBleClient();
+    }
+
+    /**
+     * @return a new {@link ProcessInitializationHandler} instance.
+     */
+    public ProcessInitializationHandler createProcessInitializationHandler() {
+        return new ProcessInitializationHandler();
+    }
+
+    /**
+     * @return An instance of RevenueStats to be installed as a singleton.
+     */
+    public RevenueStats createRevenueStatsInstance() {
+        return new RevenueStats();
+    }
+
+    /**
+     * Returns a new instance of VariationsSession.
+     */
+    public VariationsSession createVariationsSession() {
+        return new VariationsSession();
+    }
+
+    /**
+     * @return An instance of VideoPersister to be installed as a singleton.
+     */
+    public VideoPersister createVideoPersister() {
+        return new VideoPersister();
+    }
+
+    /** Returns the singleton instance of GooglePlayWebApkInstallDelegate. */
+    public GooglePlayWebApkInstallDelegate getGooglePlayWebApkInstallDelegate() {
+        return null;
+    }
+
+    /**
+     * @return An instance of PolicyAuditor that notifies the policy system of the user's activity.
+     * Only applicable when the user has a policy active, that is tracking the activity.
+     */
+    public PolicyAuditor getPolicyAuditor() {
+        // This class has a protected constructor to prevent accidental instantiation.
+        return new PolicyAuditor() {};
+    }
+
+    public void registerPolicyProviders(CombinedPolicyProvider combinedProvider) {
+        combinedProvider.registerProvider(
+                new AppRestrictionsProvider(ContextUtils.getApplicationContext()));
+    }
+
+    /**
+     * Starts a service from {@code intent}.  Meant to eventually be used by services that want to
+     * be put into the foreground with {@code notification} via
+     * {@link android.app.Service#startForeground(int, Notification)}.
+     *
+     * @param intent The {@link Intent} to fire to start the service.
+     * @param notificationId The id of the notification to show.
+     * @param notification The {@link Notification} to show.
+     */
+    @SuppressWarnings("Unused")
+    public void startServiceWithNotification(
+            Intent intent, int notificationId, Notification notification) {
+        // TODO(dtrainor): Eventually make sure the service gets put into the foreground with
+        // {@link android.app.Service#startForeground(int, Notification)}.
+        ContextUtils.getApplicationContext().startService(intent);
+    }
+}
\ No newline at end of file
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooksImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooksImpl.java
new file mode 100644
index 0000000..2bf6ddca
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooksImpl.java
@@ -0,0 +1,11 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser;
+
+/**
+ * Instantiatable version of {@link AppHooks}, don't add anything to this class!
+ * Downstream targets may provide a different implementation. See http://crbug/560466.
+ */
+public class AppHooksImpl extends AppHooks {}
\ No newline at end of file
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
index 6972694..6447d0f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -131,6 +131,7 @@
 import org.chromium.chrome.browser.webapps.AddToHomescreenManager;
 import org.chromium.chrome.browser.widget.BottomSheet;
 import org.chromium.chrome.browser.widget.ControlContainer;
+import org.chromium.chrome.browser.widget.EmptyBottomSheetObserver;
 import org.chromium.chrome.browser.widget.FadingBackgroundView;
 import org.chromium.components.bookmarks.BookmarkId;
 import org.chromium.content.browser.ContentVideoView;
@@ -350,9 +351,14 @@
             mBottomSheet.setTabModelSelector(mTabModelSelector);
             mBottomSheet.setFullscreenManager(mFullscreenManager);
 
-            FadingBackgroundView fadingView =
+            final FadingBackgroundView fadingView =
                     (FadingBackgroundView) findViewById(R.id.fading_focus_target);
-            mBottomSheet.addObserver(fadingView);
+            mBottomSheet.addObserver(new EmptyBottomSheetObserver() {
+                @Override
+                public void onTransitionPeekToHalf(float transitionFraction) {
+                    fadingView.setViewAlpha(transitionFraction);
+                }
+            });
             fadingView.addObserver(mBottomSheet);
         }
         ((BottomContainer) findViewById(R.id.bottom_container)).initialize(mFullscreenManager);
@@ -748,8 +754,7 @@
 
         if (syncController != null && syncController.isSyncingUrlsWithKeystorePassphrase()) {
             assert syncService != null;
-            mContextReporter = ((ChromeApplication) getApplicationContext()).createGsaHelper()
-                    .getContextReporter(this);
+            mContextReporter = AppHooks.get().createGsaHelper().getContextReporter(this);
 
             if (mSyncStateChangedListener != null) {
                 syncService.removeSyncStateChangedListener(mSyncStateChangedListener);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java
index 96c9c59a..dcdad1e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java
@@ -80,7 +80,7 @@
         assert !mIsStarted;
 
         ApplicationStatus.registerApplicationStateListener(createApplicationStateListener());
-        mVariationsSession = mApplication.createVariationsSession();
+        mVariationsSession = AppHooks.get().createVariationsSession();
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
index d2f34b0..65275fc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
@@ -5,12 +5,9 @@
 package org.chromium.chrome.browser;
 
 import android.app.Activity;
-import android.app.Notification;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
-import android.os.Handler;
-import android.os.Looper;
 import android.os.SystemClock;
 import android.util.Log;
 
@@ -24,50 +21,20 @@
 import org.chromium.base.annotations.MainDex;
 import org.chromium.base.annotations.SuppressFBWarnings;
 import org.chromium.base.library_loader.ProcessInitException;
-import org.chromium.chrome.browser.banners.AppDetailsDelegate;
-import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
-import org.chromium.chrome.browser.datausage.ExternalDataUseObserver;
 import org.chromium.chrome.browser.document.DocumentActivity;
 import org.chromium.chrome.browser.document.IncognitoDocumentActivity;
-import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
-import org.chromium.chrome.browser.feedback.EmptyFeedbackReporter;
-import org.chromium.chrome.browser.feedback.FeedbackReporter;
-import org.chromium.chrome.browser.gsa.GSAHelper;
-import org.chromium.chrome.browser.help.HelpAndFeedback;
-import org.chromium.chrome.browser.historyreport.AppIndexingReporter;
 import org.chromium.chrome.browser.init.InvalidStartupDialog;
-import org.chromium.chrome.browser.instantapps.InstantAppsHandler;
-import org.chromium.chrome.browser.locale.LocaleManager;
-import org.chromium.chrome.browser.media.VideoPersister;
 import org.chromium.chrome.browser.metrics.UmaUtils;
-import org.chromium.chrome.browser.metrics.VariationsSession;
-import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
-import org.chromium.chrome.browser.net.qualityprovider.ExternalEstimateProviderAndroid;
-import org.chromium.chrome.browser.omaha.RequestGenerator;
 import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
-import org.chromium.chrome.browser.physicalweb.PhysicalWebBleClient;
-import org.chromium.chrome.browser.policy.PolicyAuditor;
-import org.chromium.chrome.browser.preferences.LocationSettings;
 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
 import org.chromium.chrome.browser.preferences.autofill.AutofillAndPaymentsPreferences;
 import org.chromium.chrome.browser.preferences.password.SavePasswordsPreferences;
-import org.chromium.chrome.browser.rlz.RevenueStats;
-import org.chromium.chrome.browser.services.AndroidEduOwnerCheckCallback;
-import org.chromium.chrome.browser.signin.GoogleActivityController;
-import org.chromium.chrome.browser.sync.GmsCoreSyncListener;
-import org.chromium.chrome.browser.tab.AuthenticatorNavigationInterceptor;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tabmodel.document.ActivityDelegateImpl;
 import org.chromium.chrome.browser.tabmodel.document.DocumentTabModelSelector;
 import org.chromium.chrome.browser.tabmodel.document.StorageDelegate;
 import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
-import org.chromium.chrome.browser.webapps.ChromeShortcutManager;
-import org.chromium.chrome.browser.webapps.GooglePlayWebApkInstallDelegate;
-import org.chromium.components.signin.AccountManagerDelegate;
-import org.chromium.components.signin.SystemAccountManagerDelegate;
 import org.chromium.content.app.ContentApplication;
-import org.chromium.policy.AppRestrictionsProvider;
-import org.chromium.policy.CombinedPolicyProvider;
 
 /**
  * Basic application functionality that should be shared among all browser applications that use
@@ -76,7 +43,6 @@
 @MainDex
 public class ChromeApplication extends ContentApplication {
     public static final String COMMAND_LINE_FILE = "chrome-command-line";
-
     private static final String TAG = "ChromiumApplication";
     private static final String PREF_BOOT_TIMESTAMP =
             "com.google.android.apps.chrome.ChromeMobileApplication.BOOT_TIMESTAMP";
@@ -107,35 +73,6 @@
         TraceEvent.end("ChromeApplication.onCreate");
     }
 
-    /**
-     * Returns a new instance of VariationsSession.
-     */
-    public VariationsSession createVariationsSession() {
-        return new VariationsSession();
-    }
-
-    /**
-     * Return a {@link AuthenticatorNavigationInterceptor} for the given {@link Tab}.
-     * This can be null if there are no applicable interceptor to be built.
-     */
-    @SuppressWarnings("unused")
-    public AuthenticatorNavigationInterceptor createAuthenticatorNavigationInterceptor(Tab tab) {
-        return null;
-    }
-
-    /**
-     * Initiate AndroidEdu device check.
-     * @param callback Callback that should receive the results of the AndroidEdu device check.
-     */
-    public void checkIsAndroidEduDevice(final AndroidEduOwnerCheckCallback callback) {
-        new Handler(Looper.getMainLooper()).post(new Runnable() {
-            @Override
-            public void run() {
-                callback.onSchoolCheckDone(false);
-            }
-        });
-    }
-
     @CalledByNative
     protected void showAutofillSettings() {
         PreferencesLauncher.launchSettingsPage(
@@ -148,11 +85,6 @@
                 SavePasswordsPreferences.class.getName());
     }
 
-    @Override
-    public void initCommandLine() {
-        CommandLineInitUtil.initCommandLine(this, COMMAND_LINE_FILE);
-    }
-
     /**
      * Shows an error dialog following a startup error, and then exits the application.
      * @param e The exception reported by Chrome initialization.
@@ -165,14 +97,9 @@
         InvalidStartupDialog.show(activity, e.getErrorCode());
     }
 
-    /**
-     * Returns an instance of LocationSettings to be installed as a singleton.
-     */
-    public LocationSettings createLocationSettings() {
-        // Using an anonymous subclass as the constructor is protected.
-        // This is done to deter instantiation of LocationSettings elsewhere without using the
-        // getInstance() helper method.
-        return new LocationSettings(){};
+    @Override
+    public void initCommandLine() {
+        CommandLineInitUtil.initCommandLine(this, COMMAND_LINE_FILE);
     }
 
     /**
@@ -202,22 +129,6 @@
     }
 
     /**
-     * @return A provider of external estimates.
-     * @param nativePtr Pointer to the native ExternalEstimateProviderAndroid object.
-     */
-    public ExternalEstimateProviderAndroid createExternalEstimateProviderAndroid(long nativePtr) {
-        return new ExternalEstimateProviderAndroid(nativePtr) {};
-    }
-
-    /**
-     * @return An external observer of data use.
-     * @param nativePtr Pointer to the native ExternalDataUseObserver object.
-     */
-    public ExternalDataUseObserver createExternalDataUseObserver(long nativePtr) {
-        return new ExternalDataUseObserver(nativePtr);
-    }
-
-    /**
      * @return The user agent string of Chrome.
      */
     public static String getBrowserUserAgent() {
@@ -267,135 +178,6 @@
     private static native void nativeFlushPersistentData();
 
     /**
-     * @return An instance of {@link FeedbackReporter} to report feedback.
-     */
-    public FeedbackReporter createFeedbackReporter() {
-        return new EmptyFeedbackReporter();
-    }
-
-    /**
-     * @return An instance of ExternalAuthUtils to be installed as a singleton.
-     */
-    public ExternalAuthUtils createExternalAuthUtils() {
-        return new ExternalAuthUtils();
-    }
-
-    /**
-     * Returns a new instance of HelpAndFeedback.
-     */
-    public HelpAndFeedback createHelpAndFeedback() {
-        return new HelpAndFeedback();
-    }
-
-    /**
-     * @return An instance of {@link CustomTabsConnection}. Should not be called
-     * outside of {@link CustomTabsConnection#getInstance()}.
-     */
-    public CustomTabsConnection createCustomTabsConnection() {
-        return new CustomTabsConnection(this);
-    }
-
-    /**
-     * @return A new {@link PhysicalWebBleClient} instance.
-     */
-    public PhysicalWebBleClient createPhysicalWebBleClient() {
-        return new PhysicalWebBleClient();
-    }
-
-    public InstantAppsHandler createInstantAppsHandler() {
-        return new InstantAppsHandler();
-    }
-
-    /**
-     * @return An instance of {@link GSAHelper} that handles the start point of chrome's integration
-     *         with GSA.
-     */
-    public GSAHelper createGsaHelper() {
-        return new GSAHelper();
-    }
-
-    /**
-     * @return An instance of {@link LocaleManager} that handles customized locale related logic.
-     */
-    public LocaleManager createLocaleManager() {
-        return new LocaleManager();
-    }
-
-   /**
-     * Registers various policy providers with the policy manager.
-     * Providers are registered in increasing order of precedence so overrides should call this
-     * method in the end for this method to maintain the highest precedence.
-     * @param combinedProvider The {@link CombinedPolicyProvider} to register the providers with.
-     */
-    public void registerPolicyProviders(CombinedPolicyProvider combinedProvider) {
-        combinedProvider.registerProvider(new AppRestrictionsProvider(getApplicationContext()));
-    }
-
-    /**
-     * @return An instance of PolicyAuditor that notifies the policy system of the user's activity.
-     * Only applicable when the user has a policy active, that is tracking the activity.
-     */
-    public PolicyAuditor getPolicyAuditor() {
-        // This class has a protected constructor to prevent accidental instantiation.
-        return new PolicyAuditor() {};
-    }
-
-    /**
-     * @return An instance of MultiWindowUtils to be installed as a singleton.
-     */
-    public MultiWindowUtils createMultiWindowUtils() {
-        return new MultiWindowUtils();
-    }
-
-    /**
-     * @return An instance of VideoPersister to be installed as a singleton.
-     */
-    public VideoPersister createVideoPersister() {
-        return new VideoPersister();
-    }
-
-    /**
-     * @return An instance of RequestGenerator to be used for Omaha XML creation.  Will be null if
-     *         a generator is unavailable.
-     */
-    public RequestGenerator createOmahaRequestGenerator() {
-        return null;
-    }
-
-    /**
-     * @return An instance of GmsCoreSyncListener to notify GmsCore of sync encryption key changes.
-     *         Will be null if one is unavailable.
-     */
-    public GmsCoreSyncListener createGmsCoreSyncListener() {
-        return null;
-    }
-
-    /**
-    * @return An instance of GoogleActivityController.
-    */
-    public GoogleActivityController createGoogleActivityController() {
-        return new GoogleActivityController();
-    }
-
-    /**
-     * @return An instance of AppDetailsDelegate that can be queried about app information for the
-     *         App Banner feature.  Will be null if one is unavailable.
-     */
-    public AppDetailsDelegate createAppDetailsDelegate() {
-        return null;
-    }
-
-    /** Returns the singleton instance of GooglePlayWebApkInstallDelegate. */
-    public GooglePlayWebApkInstallDelegate getGooglePlayWebApkInstallDelegate() {
-        return null;
-    }
-
-    /** Returns the singleton instance of ChromeShortcutManager */
-    public ChromeShortcutManager createChromeShortcutManager() {
-        return new ChromeShortcutManager();
-    }
-
-    /**
      * Returns the singleton instance of the DocumentTabModelSelector.
      * TODO(dfalcantara): Find a better place for this once we differentiate between activity and
      *                    application-level TabModelSelectors.
@@ -412,44 +194,4 @@
         }
         return sDocumentTabModelSelector;
     }
-
-    /**
-     * @return An instance of RevenueStats to be installed as a singleton.
-     */
-    public RevenueStats createRevenueStatsInstance() {
-        return new RevenueStats();
-    }
-
-    /**
-     * Creates a new {@link AccountManagerDelegate}.
-     * @return the created {@link AccountManagerDelegate}.
-     */
-    public AccountManagerDelegate createAccountManagerDelegate() {
-        return new SystemAccountManagerDelegate(this);
-    }
-
-    /**
-     * Creates a new {@link AppIndexingReporter}.
-     * @return the created {@link AppIndexingReporter}.
-     */
-    public AppIndexingReporter createAppIndexingReporter() {
-        return new AppIndexingReporter();
-    }
-
-    /**
-     * Starts a service from {@code intent}.  Meant to eventually be used by services that want to
-     * be put into the foreground with {@code notification} via
-     * {@link android.app.Service#startForeground(int, Notification)}.
-     *
-     * @param intent The {@link Intent} to fire to start the service.
-     * @param notificationId The id of the notification to show.
-     * @param notification The {@link Notification} to show.
-     */
-    @SuppressWarnings("Unused")
-    public void startServiceWithNotification(
-            Intent intent, int notificationId, Notification notification) {
-        // TODO(dtrainor): Eventually make sure the service gets put into the foreground with
-        // {@link android.app.Service#startForeground(int, Notification)}.
-        startService(intent);
-    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java
index 63f5bd2..adb6e2c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java
@@ -57,10 +57,6 @@
     /** Enable Contextual Search. */
     public static final String ENABLE_CONTEXTUAL_SEARCH = "enable-contextual-search";
 
-    /** Contextual Search UI integration with Contextual Cards data.*/
-    public static final String CONTEXTUAL_SEARCH_CONTEXTUAL_CARDS_BAR_INTEGRATION =
-            "cs-contextual-cards-bar-integration";
-
     // How many thumbnails should we allow in the cache (per tab stack)?
     public static final String THUMBNAILS = "thumbnails";
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java
index d6ea4b3..71d5da9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java
@@ -224,13 +224,11 @@
             }
         });
 
-        final ChromeApplication application = (ChromeApplication) mAppContext;
-
         mDeferredTasks.add(new Runnable() {
             @Override
             public void run() {
                 // Starts syncing with GSA.
-                application.createGsaHelper().startSync();
+                AppHooks.get().createGsaHelper().startSync();
             }
         });
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountFeedbackReporter.java b/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountFeedbackReporter.java
index 22e929a..924d703c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountFeedbackReporter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountFeedbackReporter.java
@@ -8,7 +8,7 @@
 
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.annotations.CalledByNative;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.feedback.FeedbackCollector;
 import org.chromium.chrome.browser.feedback.FeedbackReporter;
 import org.chromium.chrome.browser.profiles.Profile;
@@ -23,8 +23,7 @@
     public static void reportFeedback(Activity activity, final String description, String url) {
         ThreadUtils.assertOnUiThread();
         if (sFeedbackReporter == null) {
-            ChromeApplication application = (ChromeApplication) activity.getApplication();
-            sFeedbackReporter = application.createFeedbackReporter();
+            sFeedbackReporter = AppHooks.get().createFeedbackReporter();
         }
         FeedbackCollector.create(activity, Profile.getLastUsedProfile(), url,
                 new FeedbackCollector.FeedbackResult() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java
index 20d43e10..db94bbd5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java
@@ -60,17 +60,6 @@
     @VisibleForTesting
     static final String ENABLE_SERVER_CONTROLLED_ONEBOX = "enable_server_controlled_onebox";
 
-    /** Hide Contextual Cards data.*/
-    private static final String HIDE_CONTEXTUAL_CARDS_DATA = "hide_contextual_cards_data";
-
-    // Quick Answers.
-    private static final String ENABLE_QUICK_ANSWERS = "enable_quick_answers";
-
-    // Enables collection of recent scroll seen/unseen histograms.
-    // TODO(donnd): remove all supporting code once short-lived data collection is done.
-    private static final String ENABLE_RECENT_SCROLL_COLLECTION = "enable_recent_scroll_collection";
-    // Set non-zero to establish an recent scroll suppression threshold for taps.
-    private static final String RECENT_SCROLL_DURATION_MS = "recent_scroll_duration_ms";
     // TODO(donnd): remove all supporting code once short-lived data collection is done.
     private static final String SCREEN_TOP_SUPPRESSION_DPS = "screen_top_suppression_dps";
     private static final String ENABLE_BAR_OVERLAP_COLLECTION = "enable_bar_overlap_collection";
@@ -100,14 +89,9 @@
     private static Boolean sIsKeyboardLanguagesForTranslationDisabled;
     private static Boolean sIsEnglishTargetTranslationEnabled;
     private static Boolean sIsServerControlledOneboxEnabled;
-    private static Boolean sIsQuickAnswersEnabled;
-    private static Boolean sIsRecentScrollCollectionEnabled;
-    private static Integer sRecentScrollDurationMs;
     private static Integer sScreenTopSuppressionDps;
     private static Boolean sIsBarOverlapCollectionEnabled;
     private static Boolean sIsBarOverlapSuppressionEnabled;
-    private static Boolean sShouldHideContextualCardsData;
-    private static Boolean sIsContextualCardsBarIntegrationEnabled;
     private static Boolean sIsOnlineDetectionDisabled;
     private static Boolean sIsAmpAsSeparateTabDisabled;
     private static Boolean sContextualSearchSingleActionsEnabled;
@@ -302,38 +286,6 @@
     }
 
     /**
-     * @return Whether showing "quick answers" in the Bar is enabled.
-     */
-    static boolean isQuickAnswersEnabled() {
-        if (sIsQuickAnswersEnabled == null) {
-            sIsQuickAnswersEnabled = getBooleanParam(ENABLE_QUICK_ANSWERS);
-        }
-        return sIsQuickAnswersEnabled.booleanValue();
-    }
-
-    /**
-     * @return Whether collecting metrics for tap triggering after a scroll is enabled.
-     */
-    static boolean isRecentScrollCollectionEnabled() {
-        if (sIsRecentScrollCollectionEnabled == null) {
-            sIsRecentScrollCollectionEnabled = getBooleanParam(ENABLE_RECENT_SCROLL_COLLECTION);
-        }
-        return sIsRecentScrollCollectionEnabled.booleanValue();
-    }
-
-    /**
-     * Gets the duration to use for suppressing Taps after a recent scroll, or {@code 0} if no
-     * suppression is configured.
-     * @return The period of time after a scroll when tap triggering is suppressed.
-     */
-    static int getRecentScrollSuppressionDurationMs() {
-        if (sRecentScrollDurationMs == null) {
-            sRecentScrollDurationMs = getIntParamValueOrDefault(RECENT_SCROLL_DURATION_MS, 0);
-        }
-        return sRecentScrollDurationMs.intValue();
-    }
-
-    /**
      * Gets a Y value limit that will suppress a Tap near the top of the screen.
      * Any Y value less than the limit will suppress the Tap trigger.
      * @return The Y value triggering limit in DPs, a value of zero will not limit.
@@ -376,22 +328,6 @@
         return sIsAmpAsSeparateTabDisabled;
     }
 
-    // TODO(donnd): Remove once bar-integration is fully landed if still unused (native only).
-    static boolean isContextualCardsBarIntegrationEnabled() {
-        if (sIsContextualCardsBarIntegrationEnabled == null) {
-            sIsContextualCardsBarIntegrationEnabled = getBooleanParam(
-                    ChromeSwitches.CONTEXTUAL_SEARCH_CONTEXTUAL_CARDS_BAR_INTEGRATION);
-        }
-        return sIsContextualCardsBarIntegrationEnabled;
-    }
-
-    static boolean shouldHideContextualCardsData() {
-        if (sShouldHideContextualCardsData == null) {
-            sShouldHideContextualCardsData = getBooleanParam(HIDE_CONTEXTUAL_CARDS_DATA);
-        }
-        return sShouldHideContextualCardsData;
-    }
-
     /**
      * @return Whether detection of device-online should be disabled (default false).
      */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
index 74383743..48aa168 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
@@ -698,14 +698,6 @@
         boolean receivedCaptionOrThumbnail = !TextUtils.isEmpty(caption)
                 || !TextUtils.isEmpty(thumbnailUrl);
 
-        if (ContextualSearchFieldTrial.shouldHideContextualCardsData()) {
-            // Clear the thumbnail URL and caption so that they are not displayed in the bar. This
-            // is used to determine the CTR on contextual searches where we would have shown
-            // contextual cards data had it not been disabled via a field trial.
-            thumbnailUrl = "";
-            caption = "";
-        }
-
         mSearchPanel.onSearchTermResolved(message, thumbnailUrl, quickActionUri,
                 quickActionCategory);
         if (!TextUtils.isEmpty(caption)) {
@@ -720,11 +712,9 @@
                 mSearchPanel.getSearchBarControl().getQuickActionControl().hasQuickAction();
         boolean receivedContextualCardsEntityData = !quickActionShown && receivedCaptionOrThumbnail;
 
-        if (ContextualSearchFieldTrial.isContextualCardsBarIntegrationEnabled()) {
-            ContextualSearchUma.logContextualCardsDataShown(receivedContextualCardsEntityData);
-            mSearchPanel.getPanelMetrics().setWasContextualCardsDataShown(
-                    receivedContextualCardsEntityData);
-        }
+        ContextualSearchUma.logContextualCardsDataShown(receivedContextualCardsEntityData);
+        mSearchPanel.getPanelMetrics().setWasContextualCardsDataShown(
+                receivedContextualCardsEntityData);
 
         if (ContextualSearchFieldTrial.isContextualSearchSingleActionsEnabled()) {
             ContextualSearchUma.logQuickActionShown(quickActionShown, quickActionCategory);
@@ -993,11 +983,9 @@
         @Override
         public void onContentViewCreated(ContentViewCore contentViewCore) {
             // TODO(donnd): Consider moving to OverlayPanelContent.
-            if (mPolicy.isContextualSearchJsApiEnabled()) {
                 // Enable the Contextual Search JavaScript API between our service and the new view.
-                nativeEnableContextualSearchJsApiForOverlay(
-                        mNativeContextualSearchManagerPtr, contentViewCore.getWebContents());
-            }
+            nativeEnableContextualSearchJsApiForOverlay(
+                    mNativeContextualSearchManagerPtr, contentViewCore.getWebContents());
 
             // TODO(mdjones): Move SearchContentViewDelegate ownership to panel.
             mSearchContentViewDelegate.setOverlayPanelContentViewCore(contentViewCore);
@@ -1287,13 +1275,13 @@
     @Override
     public void handleMetricsForWouldSuppressTap(ContextualSearchHeuristics tapHeuristics) {
         mHeuristics = tapHeuristics;
-        if (ContextualSearchFieldTrial.isQuickAnswersEnabled()) {
-            // TODO(donnd): QuickAnswersHeuristic is getting added to TapSuppressionHeuristics and
-            // and getting considered in TapSuppressionHeuristics#shouldSuppressTap(). It should
-            // be a part of ContextualSearchHeuristics for logging purposes but not for suppression.
-            mQuickAnswersHeuristic = new QuickAnswersHeuristic();
-            mHeuristics.add(mQuickAnswersHeuristic);
-        }
+
+        // TODO(donnd): QuickAnswersHeuristic is getting added to TapSuppressionHeuristics and
+        // and getting considered in TapSuppressionHeuristics#shouldSuppressTap(). It should
+        // be a part of ContextualSearchHeuristics for logging purposes but not for suppression.
+        mQuickAnswersHeuristic = new QuickAnswersHeuristic();
+        mHeuristics.add(mQuickAnswersHeuristic);
+
         mSearchPanel.getPanelMetrics().setResultsSeenExperiments(mHeuristics);
         mSearchPanel.getPanelMetrics().setRankerLogExperiments(mHeuristics);
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
index 5ed816cd..37bc99e4 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
@@ -397,14 +397,6 @@
     }
 
     /**
-     * @return Whether Contextual Search should enable its JavaScript API in the overlay panel.
-     */
-    boolean isContextualSearchJsApiEnabled() {
-        // Quick answers requires the JS API.
-        return ContextualSearchFieldTrial.isQuickAnswersEnabled();
-    }
-
-    /**
      * @return Whether the given URL is used for Accelerated Mobile Pages by Google.
      */
     boolean isAmpUrl(String url) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java
index b94f6ee..e7b76c9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java
@@ -1021,20 +1021,6 @@
     }
 
     /**
-     * Logs the duration since a recent scroll.
-     * @param durationSinceRecentScrollMs The amount of time since the most recent scroll.
-     * @param wasSearchContentViewSeen If the panel was opened.
-     */
-    public static void logRecentScrollDuration(
-            int durationSinceRecentScrollMs, boolean wasSearchContentViewSeen) {
-        String histogram = wasSearchContentViewSeen ? "Search.ContextualSearchRecentScrollSeen"
-                                                    : "Search.ContextualSearchRecentScrollNotSeen";
-        if (durationSinceRecentScrollMs < 1000) {
-            RecordHistogram.recordCount1000Histogram(histogram, durationSinceRecentScrollMs);
-        }
-    }
-
-    /**
      * Log whether the UX was suppressed by a recent scroll.
      * @param wasSuppressed Whether showing the UX was suppressed by a recent scroll.
      */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/RecentScrollTapSuppression.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/RecentScrollTapSuppression.java
index bfdc715..2c41455 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/RecentScrollTapSuppression.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/RecentScrollTapSuppression.java
@@ -9,14 +9,10 @@
  * Handles logging of results seen and activation.
  */
 public class RecentScrollTapSuppression extends ContextualSearchHeuristic {
-    // TODO(twellington): Use this condition rather than an experiment threshold for suppression
-    // once feature is enabled by default.
     private static final int DEFAULT_RECENT_SCROLL_SUPPRESSION_DURATION_MS = 300;
 
-    private final int mExperimentThresholdMs;
     private final int mDurationSinceRecentScrollMs;
     private final boolean mIsConditionSatisfied;
-    private final boolean mIsEnabled;
 
     /**
      * Constructs a Tap suppression heuristic that handles a Tap after a recent scroll.
@@ -34,46 +30,18 @@
             mDurationSinceRecentScrollMs = 0;
         }
 
-        mExperimentThresholdMs = ContextualSearchFieldTrial.getRecentScrollSuppressionDurationMs();
-
-        // If the configured threshold is 0, then suppression is not enabled.
-        mIsEnabled = mExperimentThresholdMs > 0;
-
-        int conditionThreshold = mIsEnabled ? mExperimentThresholdMs
-                : DEFAULT_RECENT_SCROLL_SUPPRESSION_DURATION_MS;
         mIsConditionSatisfied = mDurationSinceRecentScrollMs > 0
-                && mDurationSinceRecentScrollMs < conditionThreshold;
+                && mDurationSinceRecentScrollMs < DEFAULT_RECENT_SCROLL_SUPPRESSION_DURATION_MS;
     }
 
     @Override
     protected boolean isConditionSatisfiedAndEnabled() {
-        return mIsEnabled && mIsConditionSatisfied;
+        return mIsConditionSatisfied;
     }
 
     @Override
     protected void logConditionState() {
-        if (mIsEnabled) {
-            ContextualSearchUma.logRecentScrollSuppression(mIsConditionSatisfied);
-        }
-    }
-
-    @Override
-    protected void logResultsSeen(boolean wasSearchContentViewSeen, boolean wasActivatedByTap) {
-        if (wasActivatedByTap && mDurationSinceRecentScrollMs > 0
-                && ContextualSearchFieldTrial.isRecentScrollCollectionEnabled()) {
-            ContextualSearchUma.logRecentScrollDuration(
-                    mDurationSinceRecentScrollMs, wasSearchContentViewSeen);
-        }
-    }
-
-    @Override
-    protected boolean shouldAggregateLogForTapSuppression() {
-        return true;
-    }
-
-    @Override
-    protected boolean isConditionSatisfiedForAggregateLogging() {
-        return !mIsEnabled && mIsConditionSatisfied;
+        ContextualSearchUma.logRecentScrollSuppression(mIsConditionSatisfied);
     }
 
     @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
index e676e9cd..4c3eee8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -39,6 +39,7 @@
 import org.chromium.base.library_loader.ProcessInitException;
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.ChromeApplication;
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.IntentHandler;
@@ -151,13 +152,13 @@
 
     /**
      * @return The unique instance of ChromeCustomTabsConnection.
+     * TODO(estevenson): Remove Application param.
      */
     @SuppressFBWarnings("BC_UNCONFIRMED_CAST")
     public static CustomTabsConnection getInstance(Application application) {
         if (sInstance.get() == null) {
-            ChromeApplication chromeApplication = (ChromeApplication) application;
-            chromeApplication.initCommandLine();
-            sInstance.compareAndSet(null, chromeApplication.createCustomTabsConnection());
+            ((ChromeApplication) application).initCommandLine();
+            sInstance.compareAndSet(null, AppHooks.get().createCustomTabsConnection());
         }
         return sInstance.get();
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/datausage/ExternalDataUseObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/datausage/ExternalDataUseObserver.java
index e542ffc..8353fad 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/datausage/ExternalDataUseObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/datausage/ExternalDataUseObserver.java
@@ -14,7 +14,7 @@
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.base.annotations.NativeClassQualifiedName;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 
 /**
  * This class provides a base class implementation of a data use observer that is external to
@@ -89,7 +89,7 @@
 
     @CalledByNative
     private static ExternalDataUseObserver create(Context context, long nativePtr) {
-        return ((ChromeApplication) context).createExternalDataUseObserver(nativePtr);
+        return AppHooks.get().createExternalDataUseObserver(nativePtr);
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/DomDistillerUIUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/DomDistillerUIUtils.java
index 79fe020..0084faf6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/DomDistillerUIUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/DomDistillerUIUtils.java
@@ -12,7 +12,7 @@
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChangeReason;
 import org.chromium.chrome.browser.feedback.FeedbackCollector;
 import org.chromium.chrome.browser.feedback.FeedbackReporter;
@@ -60,8 +60,7 @@
         if (activity == null) return;
 
         if (sFeedbackReporter == null) {
-            ChromeApplication application = (ChromeApplication) activity.getApplication();
-            sFeedbackReporter = application.createFeedbackReporter();
+            sFeedbackReporter = AppHooks.get().createFeedbackReporter();
         }
         FeedbackCollector.create(activity, Profile.getLastUsedProfile(), url,
                 new FeedbackCollector.FeedbackResult() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
index e1a78dca..f998065 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
@@ -17,13 +17,12 @@
 import com.google.android.gms.common.ConnectionResult;
 import com.google.android.gms.common.GoogleApiAvailability;
 
-import org.chromium.base.ContextUtils;
 import org.chromium.base.Log;
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.VisibleForTesting;
 import org.chromium.base.metrics.CachedMetrics.SparseHistogramSample;
 import org.chromium.base.metrics.CachedMetrics.TimesHistogramSample;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
@@ -51,9 +50,7 @@
      */
     public static ExternalAuthUtils getInstance() {
         if (sInstance.get() == null) {
-            ChromeApplication application =
-                    (ChromeApplication) ContextUtils.getApplicationContext();
-            sInstance.compareAndSet(null, application.createExternalAuthUtils());
+            sInstance.compareAndSet(null, AppHooks.get().createExternalAuthUtils());
         }
         return sInstance.get();
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java b/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java
index 34ad75aa7..e11d384 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java
@@ -27,7 +27,7 @@
 import org.chromium.base.VisibleForTesting;
 import org.chromium.base.annotations.SuppressFBWarnings;
 import org.chromium.base.metrics.RecordHistogram;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 
 import java.util.List;
 
@@ -177,8 +177,7 @@
         mHandler = new IncomingHandler();
         mMessenger = new Messenger(mHandler);
         mConnection = new GSAServiceConnection();
-        mGsaHelper = ((ChromeApplication) mContext.getApplicationContext())
-                .createGsaHelper();
+        mGsaHelper = AppHooks.get().createGsaHelper();
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/help/HelpAndFeedback.java b/chrome/android/java/src/org/chromium/chrome/browser/help/HelpAndFeedback.java
index 07d2002..e2469cc0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/help/HelpAndFeedback.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/help/HelpAndFeedback.java
@@ -15,7 +15,7 @@
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.annotations.SuppressFBWarnings;
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.UrlConstants;
 import org.chromium.chrome.browser.feedback.FeedbackCollector;
 import org.chromium.chrome.browser.profiles.Profile;
@@ -41,8 +41,7 @@
     public static HelpAndFeedback getInstance(Context context) {
         ThreadUtils.assertOnUiThread();
         if (sInstance == null) {
-            sInstance = ((ChromeApplication) context.getApplicationContext())
-                    .createHelpAndFeedback();
+            sInstance = AppHooks.get().createHelpAndFeedback();
         }
         return sInstance;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/historyreport/AppIndexingReporter.java b/chrome/android/java/src/org/chromium/chrome/browser/historyreport/AppIndexingReporter.java
index d6add85..ed674d5e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/historyreport/AppIndexingReporter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/historyreport/AppIndexingReporter.java
@@ -4,8 +4,7 @@
 
 package org.chromium.chrome.browser.historyreport;
 
-import org.chromium.base.ContextUtils;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 
 /** Base class for reporting entities to App Indexing. */
 public class AppIndexingReporter {
@@ -14,8 +13,7 @@
 
     public static AppIndexingReporter getInstance() {
         if (sInstance == null) {
-            sInstance = ((ChromeApplication) ContextUtils.getApplicationContext())
-                                .createAppIndexingReporter();
+            sInstance = AppHooks.get().createAppIndexingReporter();
         }
         return sInstance;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
index d6e431d..96902aa3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
@@ -31,6 +31,7 @@
 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.AppHooks;
 import org.chromium.chrome.browser.ChromeApplication;
 import org.chromium.chrome.browser.ChromeStrictMode;
 import org.chromium.chrome.browser.ChromeSwitches;
@@ -377,7 +378,7 @@
         if (mNativeInitializationComplete) return;
         // The policies are used by browser startup, so we need to register the policy providers
         // before starting the browser process.
-        mApplication.registerPolicyProviders(CombinedPolicyProvider.get());
+        AppHooks.get().registerPolicyProviders(CombinedPolicyProvider.get());
 
         SpeechRecognition.initialize(mApplication);
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
index d5768286e..6715a23 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -16,6 +16,7 @@
 import org.chromium.base.Log;
 import org.chromium.base.ThreadUtils;
 import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.ChromeActivitySessionTracker;
 import org.chromium.chrome.browser.ChromeApplication;
 import org.chromium.chrome.browser.DeferredStartupHandler;
@@ -51,7 +52,6 @@
     private static final String SESSIONS_UUID_PREF_KEY = "chromium.sync.sessions.id";
     private static final String DEV_TOOLS_SERVER_SOCKET_PREFIX = "chrome";
 
-    private static Class<? extends ProcessInitializationHandler> sHandlerClassOverride;
     private static ProcessInitializationHandler sInstance;
 
     private boolean mInitializedPreNative;
@@ -60,45 +60,17 @@
     private DevToolsServer mDevToolsServer;
 
     /**
-     * Overrides the type of ProcessInitializationHandler to be created.
-     * <p>
-     * This must be called before {@link #getInstance()} is triggered.
-     *
-     * @param classOverride The ProcessInitializationHandler class type to be created instead of
-     *                      the default.
-     */
-    public static void setProcessInitializationHandlerType(
-            Class<? extends ProcessInitializationHandler> classOverride) {
-        if (sInstance != null) {
-            throw new IllegalStateException("Browser delegate override set after initialized");
-        }
-        sHandlerClassOverride = classOverride;
-    }
-
-    /**
      * @return The ProcessInitializationHandler for use during the lifetime of the browser process.
      */
     public static ProcessInitializationHandler getInstance() {
         ThreadUtils.assertOnUiThread();
         if (sInstance == null) {
-            if (sHandlerClassOverride != null) {
-                try {
-                    sInstance = sHandlerClassOverride.newInstance();
-                } catch (InstantiationException | IllegalAccessException e) {
-                    assert false : "Unable to instantiate ProcessInitializationHandler override.";
-                }
-            }
-            if (sInstance == null) sInstance = new ProcessInitializationHandler();
+            sInstance = AppHooks.get().createProcessInitializationHandler();
         }
         return sInstance;
     }
 
     /**
-     * Constructor exposed to allow overriding.
-     */
-    protected ProcessInitializationHandler() {}
-
-    /**
      * Initializes the any dependencies that must occur before native library has been loaded.
      * <p>
      * Adding anything expensive to this must be avoided as it would delay the Chrome startup path.
@@ -139,7 +111,7 @@
         // only once and before AccountMangerHelper.get(...) is called to avoid using the
         // default AccountManagerDelegate.
         AccountManagerHelper.initializeAccountManagerHelper(
-                application, application.createAccountManagerDelegate());
+                application, AppHooks.get().createAccountManagerDelegate());
 
         // Set the unique identification generator for invalidations.  The
         // invalidations system can start and attempt to fetch the client ID
@@ -178,7 +150,7 @@
         DataReductionProxySettings.reconcileDataReductionProxyEnabledState(application);
         ChromeActivitySessionTracker.getInstance().initializeWithNative();
         ChromeApplication.removeSessionCookies();
-        AppBannerManager.setAppDetailsDelegate(application.createAppDetailsDelegate());
+        AppBannerManager.setAppDetailsDelegate(AppHooks.get().createAppDetailsDelegate());
         ChromeLifetimeController.initialize();
 
         PrefServiceBridge.getInstance().migratePreferences(application);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
index 8f70c0f..0d3796fa 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
@@ -16,7 +16,7 @@
 import org.chromium.base.Log;
 import org.chromium.base.metrics.CachedMetrics.EnumeratedHistogramSample;
 import org.chromium.base.metrics.CachedMetrics.TimesHistogramSample;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.IntentHandler;
 import org.chromium.chrome.browser.ShortcutHelper;
 import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl;
@@ -103,8 +103,7 @@
     public static InstantAppsHandler getInstance() {
         synchronized (INSTANCE_LOCK) {
             if (sInstance == null) {
-                Context appContext = ContextUtils.getApplicationContext();
-                sInstance = ((ChromeApplication) appContext).createInstantAppsHandler();
+                sInstance = AppHooks.get().createInstantAppsHandler();
             }
         }
         return sInstance;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java b/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
index 8508e48..19658cf9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
@@ -11,7 +11,7 @@
 import org.chromium.base.ContextUtils;
 import org.chromium.base.ThreadUtils;
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
 import org.chromium.chrome.browser.preferences.SearchEnginePreference;
@@ -70,8 +70,7 @@
     public static LocaleManager getInstance() {
         assert ThreadUtils.runningOnUiThread();
         if (sInstance == null) {
-            sInstance = ((ChromeApplication) ContextUtils.getApplicationContext())
-                    .createLocaleManager();
+            sInstance = AppHooks.get().createLocaleManager();
         }
         return sInstance;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/VideoPersister.java b/chrome/android/java/src/org/chromium/chrome/browser/media/VideoPersister.java
index 4f2e7cde..09e79621 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/VideoPersister.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/VideoPersister.java
@@ -4,10 +4,9 @@
 
 package org.chromium.chrome.browser.media;
 
-import org.chromium.base.ContextUtils;
 import org.chromium.base.ThreadUtils;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.ChromeActivity;
-import org.chromium.chrome.browser.ChromeApplication;
 
 /**
  * Utilities for persisting fullscreen video on Chrome exit.
@@ -23,9 +22,7 @@
     public static VideoPersister getInstance() {
         ThreadUtils.assertOnUiThread();
         if (sInstance == null) {
-            ChromeApplication application =
-                    (ChromeApplication) ContextUtils.getApplicationContext();
-            sInstance = application.createVideoPersister();
+            sInstance = AppHooks.get().createVideoPersister();
         }
         return sInstance;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
index bb17f87..9ffba3e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
@@ -17,9 +17,8 @@
 import org.chromium.base.ActivityState;
 import org.chromium.base.ApplicationStatus;
 import org.chromium.base.ApplicationStatus.ActivityStateListener;
-import org.chromium.base.ContextUtils;
 import org.chromium.base.VisibleForTesting;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.ChromeTabbedActivity;
 import org.chromium.chrome.browser.ChromeTabbedActivity2;
 import org.chromium.chrome.browser.IntentHandler;
@@ -57,9 +56,7 @@
      */
     public static MultiWindowUtils getInstance() {
         if (sInstance.get() == null) {
-            ChromeApplication application =
-                    (ChromeApplication) ContextUtils.getApplicationContext();
-            sInstance.compareAndSet(null, application.createMultiWindowUtils());
+            sInstance.compareAndSet(null, AppHooks.get().createMultiWindowUtils());
         }
         return sInstance.get();
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/qualityprovider/ExternalEstimateProviderAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/net/qualityprovider/ExternalEstimateProviderAndroid.java
index 2e4ba1dd..3bd3920 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/net/qualityprovider/ExternalEstimateProviderAndroid.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/net/qualityprovider/ExternalEstimateProviderAndroid.java
@@ -9,7 +9,7 @@
 import org.chromium.base.NonThreadSafe;
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.JNINamespace;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 
 /**
  * This class provides a base class implementation and may be overridden on operating systems that
@@ -30,8 +30,7 @@
 
     @CalledByNative
     private static ExternalEstimateProviderAndroid create(Context context, long nativePtr) {
-        return ((ChromeApplication) context)
-                .createExternalEstimateProviderAndroid(nativePtr);
+        return AppHooks.get().createExternalEstimateProviderAndroid(nativePtr);
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java
index 3230801e7..b6af961 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java
@@ -9,7 +9,7 @@
 
 import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.ApplicationStatus;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 
 import java.util.UUID;
 
@@ -53,6 +53,6 @@
 
     @Override
     protected RequestGenerator createRequestGenerator(Context context) {
-        return ((ChromeApplication) context.getApplicationContext()).createOmahaRequestGenerator();
+        return AppHooks.get().createOmahaRequestGenerator();
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBleClient.java b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBleClient.java
index da6820b9..3d11203 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBleClient.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBleClient.java
@@ -14,10 +14,8 @@
 import com.google.android.gms.nearby.messages.MessageFilter;
 import com.google.android.gms.nearby.messages.MessageListener;
 
-import org.chromium.base.ContextUtils;
 import org.chromium.base.Log;
-import org.chromium.chrome.browser.ChromeApplication;
-
+import org.chromium.chrome.browser.AppHooks;
 
 /**
  * The Client that harvests URLs from BLE signals.
@@ -70,8 +68,7 @@
      */
     public static PhysicalWebBleClient getInstance() {
         if (sInstance == null) {
-            sInstance = ((ChromeApplication) ContextUtils.getApplicationContext())
-                    .createPhysicalWebBleClient();
+            sInstance = AppHooks.get().createPhysicalWebBleClient();
         }
         return sInstance;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java
index 7d45e0e..a2877ea 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java
@@ -6,12 +6,11 @@
 
 import android.Manifest;
 
-import org.chromium.base.ContextUtils;
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.VisibleForTesting;
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.SuppressFBWarnings;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.components.location.LocationUtils;
 import org.chromium.content.browser.ContentViewCore;
 import org.chromium.content_public.browser.WebContents;
@@ -41,9 +40,7 @@
     public static LocationSettings getInstance() {
         ThreadUtils.assertOnUiThread();
         if (sInstance == null) {
-            ChromeApplication application =
-                    (ChromeApplication) ContextUtils.getApplicationContext();
-            sInstance = application.createLocationSettings();
+            sInstance = AppHooks.get().createLocationSettings();
         }
         return sInstance;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/rlz/RevenueStats.java b/chrome/android/java/src/org/chromium/chrome/browser/rlz/RevenueStats.java
index e32a64e6..6ec03e1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/rlz/RevenueStats.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/rlz/RevenueStats.java
@@ -9,7 +9,7 @@
 
 import org.chromium.base.ContextUtils;
 import org.chromium.base.annotations.JNINamespace;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.tab.Tab;
 
 import java.util.concurrent.atomic.AtomicReference;
@@ -29,9 +29,7 @@
      */
     public static RevenueStats getInstance() {
         if (sInstance.get() == null) {
-            ChromeApplication application =
-                    (ChromeApplication) ContextUtils.getApplicationContext();
-            sInstance.compareAndSet(null, application.createRevenueStatsInstance());
+            sInstance.compareAndSet(null, AppHooks.get().createRevenueStatsInstance());
         }
         return sInstance.get();
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java
index d2be578..af28472 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java
@@ -7,7 +7,7 @@
 import android.content.Context;
 
 import org.chromium.base.Callback;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.childaccounts.ChildAccountService;
 
 /**
@@ -42,7 +42,7 @@
      */
     public void start(Context appContext) {
         ChildAccountService.checkHasChildAccount(appContext, this);
-        ((ChromeApplication) appContext).checkIsAndroidEduDevice(this);
+        AppHooks.get().checkIsAndroidEduDevice(this);
         // TODO(aruslan): Should we start a watchdog to kill if Child/Edu stuff takes too long?
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
index 1d04f639..057b125 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
@@ -35,7 +35,7 @@
 import org.chromium.base.ContextUtils;
 import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.childaccounts.ChildAccountService;
 import org.chromium.chrome.browser.preferences.ChromeBasePreference;
 import org.chromium.chrome.browser.preferences.ManagedPreferenceDelegate;
@@ -304,10 +304,8 @@
             @Override
             public boolean onPreferenceClick(Preference preference) {
                 Activity activity = getActivity();
-                ((ChromeApplication) (activity.getApplicationContext()))
-                        .createGoogleActivityController()
-                        .openWebAndAppActivitySettings(activity,
-                                ChromeSigninController.get(activity).getSignedInAccountName());
+                AppHooks.get().createGoogleActivityController().openWebAndAppActivitySettings(
+                        activity, ChromeSigninController.get(activity).getSignedInAccountName());
                 RecordUserAction.record("Signin_AccountSettings_GoogleActivityControlsClicked");
                 return true;
             }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java
index 608f406..aeb5205 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsBottomSheetContent.java
@@ -20,7 +20,7 @@
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
 import org.chromium.chrome.browser.widget.BottomSheet;
-import org.chromium.chrome.browser.widget.BottomSheetObserver;
+import org.chromium.chrome.browser.widget.EmptyBottomSheetObserver;
 import org.chromium.chrome.browser.widget.displaystyle.UiConfig;
 
 /**
@@ -62,12 +62,17 @@
         UiConfig uiConfig = new UiConfig(mRecyclerView);
 
         // This mAdapter does not fetch until later requested, when the sheet is opened.
-        NewTabPageAdapter adapter = new NewTabPageAdapter(mSuggestionsManager,
+        final NewTabPageAdapter adapter = new NewTabPageAdapter(mSuggestionsManager,
                 /* aboveTheFoldView = */ null, uiConfig, OfflinePageBridge.getForProfile(profile),
                 mContextMenuManager, mTileGroupDelegate);
         mRecyclerView.setAdapter(adapter);
 
-        activity.getBottomSheet().addObserver(new BottomSheetObserverImpl(adapter));
+        activity.getBottomSheet().addObserver(new EmptyBottomSheetObserver() {
+            @Override
+            public void onSheetOpened() {
+                adapter.refreshSuggestions();
+            }
+        });
     }
 
     @Override
@@ -123,31 +128,4 @@
 
         return delegate;
     }
-
-    // TODO(dgn): Extract for public usage if it turns out that implementing a single method from
-    // the interface becomes common.
-    private static class BottomSheetObserverImpl implements BottomSheetObserver {
-        private final NewTabPageAdapter mAdapter;
-
-        public BottomSheetObserverImpl(NewTabPageAdapter adapter) {
-            mAdapter = adapter;
-        }
-
-        @Override
-        public void onSheetOpened() {
-            mAdapter.refreshSuggestions();
-        }
-
-        @Override
-        public void onSheetClosed() {}
-
-        @Override
-        public void onLoadUrl(String url) {}
-
-        @Override
-        public void onSheetOffsetChanged(float heightFraction) {}
-
-        @Override
-        public void onTransitionPeekToHalf(float transitionFraction) {}
-    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java
index 4ae1859..e94cd94 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java
@@ -14,7 +14,7 @@
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.VisibleForTesting;
 import org.chromium.base.metrics.RecordHistogram;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.childaccounts.ChildAccountService;
 import org.chromium.chrome.browser.identity.UniqueIdentificationGenerator;
 import org.chromium.chrome.browser.identity.UniqueIdentificationGeneratorFactory;
@@ -101,8 +101,7 @@
             }
         });
 
-        GmsCoreSyncListener gmsCoreSyncListener =
-                ((ChromeApplication) context.getApplicationContext()).createGmsCoreSyncListener();
+        GmsCoreSyncListener gmsCoreSyncListener = AppHooks.get().createGmsCoreSyncListener();
         if (gmsCoreSyncListener != null) {
             mProfileSyncService.addSyncStateChangedListener(gmsCoreSyncListener);
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateImpl.java
index 5446d41..29a51c0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateImpl.java
@@ -7,7 +7,7 @@
 import org.chromium.base.VisibleForTesting;
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.datausage.DataUseTabUIManager;
 import org.chromium.chrome.browser.externalnav.ExternalNavigationHandler;
 import org.chromium.chrome.browser.externalnav.ExternalNavigationHandler.OverrideUrlLoadingResult;
@@ -51,8 +51,7 @@
     public InterceptNavigationDelegateImpl(ExternalNavigationHandler externalNavHandler, Tab tab) {
         mTab = tab;
         mExternalNavHandler = externalNavHandler;
-        mAuthenticatorHelper = ((ChromeApplication) mTab.getApplicationContext())
-                .createAuthenticatorNavigationInterceptor(mTab);
+        mAuthenticatorHelper = AppHooks.get().createAuthenticatorNavigationInterceptor(mTab);
     }
 
     public boolean shouldIgnoreNewTab(String url, boolean incognito) {
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 e09ce1c2..da0941d 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
@@ -38,9 +38,9 @@
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.ChromeActionModeCallback;
 import org.chromium.chrome.browser.ChromeActivity;
-import org.chromium.chrome.browser.ChromeApplication;
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.ChromeVersionInfo;
 import org.chromium.chrome.browser.FrozenNativePage;
@@ -432,8 +432,7 @@
     private final TabObserver mTabObserver = new EmptyTabObserver() {
         @Override
         public void onSSLStateUpdated(Tab tab) {
-            PolicyAuditor auditor =
-                    ((ChromeApplication) getApplicationContext()).getPolicyAuditor();
+            PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
             auditor.notifyCertificateFailure(
                     PolicyAuditor.nativeGetCertificateFailure(getWebContents()),
                     getApplicationContext());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
index aa830e9..837ccba 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
@@ -23,7 +23,7 @@
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.blink_public.platform.WebDisplayMode;
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.RepostFormWarningDialog;
 import org.chromium.chrome.browser.document.DocumentUtils;
 import org.chromium.chrome.browser.document.DocumentWebContentsDelegate;
@@ -337,8 +337,7 @@
                 webContents, mTab.getId(), TabLaunchType.FROM_LONGPRESS_FOREGROUND, url);
         boolean success = tabCreator.createsTabsAsynchronously() || createdSuccessfully;
         if (success && disposition == WindowOpenDisposition.NEW_POPUP) {
-            PolicyAuditor auditor =
-                    ((ChromeApplication) mTab.getApplicationContext()).getPolicyAuditor();
+            PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
             auditor.notifyAuditEvent(mTab.getApplicationContext(),
                     AuditEvent.OPEN_POPUP_URL_SUCCESS, url, "");
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
index b515d5b..77f8d13 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
@@ -14,7 +14,7 @@
 import org.chromium.base.Log;
 import org.chromium.base.ObserverList.RewindableIterator;
 import org.chromium.base.metrics.RecordHistogram;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.fullscreen.FullscreenManager;
 import org.chromium.chrome.browser.media.MediaCaptureNotificationService;
 import org.chromium.chrome.browser.metrics.UmaSessionStats;
@@ -149,8 +149,7 @@
     @Override
     public void didFinishLoad(long frameId, String validatedUrl, boolean isMainFrame) {
         if (isMainFrame) mTab.didFinishPageLoad();
-        PolicyAuditor auditor =
-                ((ChromeApplication) mTab.getApplicationContext()).getPolicyAuditor();
+        PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
         auditor.notifyAuditEvent(
                 mTab.getApplicationContext(), AuditEvent.OPEN_URL_SUCCESS, validatedUrl, "");
     }
@@ -170,8 +169,7 @@
     }
 
     private void recordErrorInPolicyAuditor(String failingUrl, String description, int errorCode) {
-        PolicyAuditor auditor =
-                ((ChromeApplication) mTab.getApplicationContext()).getPolicyAuditor();
+        PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
         auditor.notifyAuditEvent(mTab.getApplicationContext(), AuditEvent.OPEN_URL_FAILURE,
                 failingUrl, description);
         if (errorCode == BLOCKED_BY_ADMINISTRATOR) {
@@ -283,8 +281,7 @@
 
         mTab.updateFullscreenEnabledState();
 
-        PolicyAuditor auditor =
-                ((ChromeApplication) mTab.getApplicationContext()).getPolicyAuditor();
+        PolicyAuditor auditor = AppHooks.get().getPolicyAuditor();
         auditor.notifyCertificateFailure(
                 PolicyAuditor.nativeGetCertificateFailure(mTab.getWebContents()),
                 mTab.getApplicationContext());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
index f9dd2d3a..9855702 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
@@ -25,6 +25,7 @@
 import android.widget.ProgressBar;
 
 import org.chromium.base.ApiCompatibilityUtils;
+import org.chromium.base.VisibleForTesting;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.appmenu.AppMenuButtonHelper;
 import org.chromium.chrome.browser.compositor.Invalidator;
@@ -48,7 +49,7 @@
  * interaction that are not from Views inside Toolbar hierarchy all interactions should be done
  * through {@link Toolbar} rather than using this class directly.
  */
-abstract class ToolbarLayout extends FrameLayout implements Toolbar {
+public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
     protected static final int BACKGROUND_TRANSITION_DURATION_MS = 400;
 
     private Invalidator mInvalidator;
@@ -103,20 +104,17 @@
      * @return The top margin of the progress bar.
      */
     protected int getProgressBarTopMargin() {
-        return mToolbarHeightWithoutShadow - mProgressBar.getLayoutParams().height;
+        return mToolbarHeightWithoutShadow
+                - getResources().getDimensionPixelSize(R.dimen.toolbar_progress_bar_height);
     }
 
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
 
-        mProgressBar = (ToolbarProgressBar) findViewById(R.id.progress);
-        if (mProgressBar != null) {
-            removeView(mProgressBar);
-            mProgressBar.prepareForAttach(getProgressBarTopMargin());
+        mProgressBar = new ToolbarProgressBar(getContext(), getProgressBarTopMargin());
 
-            if (isNativeLibraryReady()) mProgressBar.initializeAnimation();
-        }
+        if (isNativeLibraryReady()) mProgressBar.initializeAnimation();
 
         mMenuButton = (TintedImageButton) findViewById(R.id.menu_button);
         mMenuBadge = (ImageView) findViewById(R.id.menu_badge);
@@ -221,7 +219,8 @@
     /**
      * @return The {@link ProgressBar} this layout uses.
      */
-    ToolbarProgressBar getProgressBar() {
+    @VisibleForTesting
+    public ToolbarProgressBar getProgressBar() {
         return mProgressBar;
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
index d7dfe5c..33835149 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -21,6 +21,7 @@
 
 import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.ThreadUtils;
+import org.chromium.base.VisibleForTesting;
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.chrome.R;
@@ -682,6 +683,14 @@
     }
 
     /**
+     * @return The {@link ToolbarLayout} that constitutes the toolbar.
+     */
+    @VisibleForTesting
+    public ToolbarLayout getToolbarLayout() {
+        return mToolbar;
+    }
+
+    /**
      * @return The controller for toolbar action mode.
      */
     public ActionModeController getActionModeController() {
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 1df5575a..9b2453a 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
@@ -36,11 +36,13 @@
 import org.chromium.chrome.browser.ChromeActivity;
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.ChromeTabbedActivity;
+import org.chromium.chrome.browser.UrlConstants;
 import org.chromium.chrome.browser.infobar.InfoBarIdentifier;
 import org.chromium.chrome.browser.infobar.SimpleConfirmInfoBarBuilder;
 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tabmodel.TabModel;
+import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
 import org.chromium.chrome.browser.tabmodel.TabModelUtils;
 
 import java.lang.annotation.Retention;
@@ -694,6 +696,12 @@
         TabModelUtils.setIndex(mActivity.getTabModelSelector().getModel(tab.isIncognito()), index);
     }
 
+    @CalledByNative
+    private void openNewTab(boolean incognito) {
+        mActivity.getTabCreator(incognito).launchUrl(
+                UrlConstants.NTP_URL, TabLaunchType.FROM_CHROME_UI);
+    }
+
     private native long nativeInit();
     private native void nativeSetPresentResult(long nativeVrShellDelegate, boolean result);
     private native void nativeDisplayActivate(long nativeVrShellDelegate);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeShortcutManager.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeShortcutManager.java
index 1bc1e74..8b47b3d5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeShortcutManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeShortcutManager.java
@@ -11,7 +11,7 @@
 import android.graphics.Bitmap;
 
 import org.chromium.base.ContextUtils;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 
 import java.util.List;
 
@@ -28,8 +28,7 @@
     /* Returns the singleton instance of ChromeShortcutManager, creating it if needed. */
     public static ChromeShortcutManager getInstance() {
         if (sInstance == null) {
-            sInstance = ((ChromeApplication) ContextUtils.getApplicationContext())
-                                .createChromeShortcutManager();
+            sInstance = AppHooks.get().createChromeShortcutManager();
         }
         return sInstance;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java
index 39ed7ca4..28c1980 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java
@@ -13,7 +13,7 @@
 import org.chromium.base.Log;
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.library_loader.LibraryLoader;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.GooglePlayInstallState;
 import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
@@ -79,8 +79,8 @@
             return;
         }
 
-        ChromeApplication application = (ChromeApplication) ContextUtils.getApplicationContext();
-        GooglePlayWebApkInstallDelegate delegate = application.getGooglePlayWebApkInstallDelegate();
+        GooglePlayWebApkInstallDelegate delegate =
+                AppHooks.get().getGooglePlayWebApkInstallDelegate();
         if (delegate == null) {
             sGooglePlayInstallState = GooglePlayInstallState.DISABLED_OTHER;
             return;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java
index 83a8383..c157c6a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java
@@ -17,7 +17,7 @@
 import org.chromium.base.ContentUriUtils;
 import org.chromium.base.ContextUtils;
 import org.chromium.base.annotations.CalledByNative;
-import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.ShortcutHelper;
 import org.chromium.chrome.browser.banners.InstallerDelegate;
 import org.chromium.chrome.browser.util.IntentUtils;
@@ -52,8 +52,7 @@
 
     private WebApkInstaller(long nativePtr) {
         mNativePointer = nativePtr;
-        ChromeApplication application = (ChromeApplication) ContextUtils.getApplicationContext();
-        mGooglePlayWebApkInstallDelegate = application.getGooglePlayWebApkInstallDelegate();
+        mGooglePlayWebApkInstallDelegate = AppHooks.get().getGooglePlayWebApkInstallDelegate();
     }
 
     @CalledByNative
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/ClipDrawableProgressBar.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/ClipDrawableProgressBar.java
index c30f46c..cc5a7e1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/widget/ClipDrawableProgressBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/ClipDrawableProgressBar.java
@@ -5,16 +5,16 @@
 package org.chromium.chrome.browser.widget;
 
 import android.content.Context;
-import android.content.res.TypedArray;
 import android.graphics.Color;
 import android.graphics.Rect;
 import android.graphics.drawable.ClipDrawable;
 import android.graphics.drawable.ColorDrawable;
 import android.support.v4.view.ViewCompat;
-import android.util.AttributeSet;
 import android.view.Gravity;
+import android.view.ViewGroup.LayoutParams;
 import android.widget.ImageView;
 
+import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.chrome.R;
 
 /**
@@ -54,30 +54,25 @@
     }
 
     /**
-     * Constructor for inflating from XML.
+     * Constructor for dynamic inflation.
      */
-    public ClipDrawableProgressBar(Context context, AttributeSet attrs) {
-        super(context, attrs);
+    public ClipDrawableProgressBar(Context context) {
+        super(context);
+
         mDesiredVisibility = getVisibility();
 
-        assert attrs != null;
-        TypedArray a = context.obtainStyledAttributes(
-                attrs, R.styleable.ClipDrawableProgressBar, 0, 0);
-
-        int foregroundColor = a.getColor(
-                R.styleable.ClipDrawableProgressBar_progressBarColor, Color.TRANSPARENT);
-        mBackgroundColor = a.getColor(
-                R.styleable.ClipDrawableProgressBar_backgroundColor, Color.TRANSPARENT);
-        assert foregroundColor != Color.TRANSPARENT;
-        assert Color.alpha(foregroundColor) == 255
-                : "Currently ClipDrawableProgressBar only supports opaque progress bar color.";
-
-        a.recycle();
+        int foregroundColor =
+                ApiCompatibilityUtils.getColor(getResources(), R.color.progress_bar_foreground);
+        mBackgroundColor =
+                ApiCompatibilityUtils.getColor(getResources(), R.color.progress_bar_background);
 
         mForegroundDrawable = new ColorDrawable(foregroundColor);
         setImageDrawable(
                 new ClipDrawable(mForegroundDrawable, Gravity.START, ClipDrawable.HORIZONTAL));
         setBackgroundColor(mBackgroundColor);
+
+        int height = getResources().getDimensionPixelSize(R.dimen.toolbar_progress_bar_height);
+        setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, height));
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/EmptyBottomSheetObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/EmptyBottomSheetObserver.java
new file mode 100644
index 0000000..37950407
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/EmptyBottomSheetObserver.java
@@ -0,0 +1,25 @@
+// 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.widget;
+
+/**
+ * An empty base implementation of the {@link BottomSheetObserver} interface.
+ */
+public class EmptyBottomSheetObserver implements BottomSheetObserver {
+    @Override
+    public void onSheetOpened() {}
+
+    @Override
+    public void onSheetClosed() {}
+
+    @Override
+    public void onLoadUrl(String url) {}
+
+    @Override
+    public void onSheetOffsetChanged(float heightFraction) {}
+
+    @Override
+    public void onTransitionPeekToHalf(float transitionFraction) {}
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/FadingBackgroundView.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/FadingBackgroundView.java
index 3d59bee0..54e6d854 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/widget/FadingBackgroundView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/FadingBackgroundView.java
@@ -18,8 +18,7 @@
  * This view is used to obscure content and bring focus to a foreground view (i.e. the Chrome Home
  * bottom sheet or the omnibox suggestions).
  */
-public class FadingBackgroundView extends View implements View.OnClickListener,
-        BottomSheetObserver {
+public class FadingBackgroundView extends View implements View.OnClickListener {
     /**
      * An interface for listening to events on the fading view.
      */
@@ -165,21 +164,4 @@
     public void onClick(View view) {
         for (FadingViewObserver o : mObservers) o.onFadingViewClick();
     }
-
-    @Override
-    public void onTransitionPeekToHalf(float transitionFraction) {
-        setViewAlpha(transitionFraction);
-    }
-
-    @Override
-    public void onSheetOffsetChanged(float heightFraction) {}
-
-    @Override
-    public void onSheetOpened() {}
-
-    @Override
-    public void onSheetClosed() {}
-
-    @Override
-    public void onLoadUrl(String url) {}
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java
index 1d5a925..fdaa3a8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java
@@ -11,7 +11,6 @@
 import android.os.Build;
 import android.support.v4.view.ViewCompat;
 import android.text.TextUtils;
-import android.util.AttributeSet;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityEvent;
 import android.widget.FrameLayout.LayoutParams;
@@ -143,27 +142,24 @@
     /**
      * Creates a toolbar progress bar.
      *
-     * @param context the application environment.
-     * @param attrs the xml attributes that should be used to initialize this view.
+     * @param context The application environment.
+     * @param topMargin The top margin of the progress bar.
      */
-    public ToolbarProgressBar(Context context, AttributeSet attrs) {
-        super(context, attrs);
+    public ToolbarProgressBar(Context context, int topMargin) {
+        super(context);
         setAlpha(0.0f);
+        mMarginTop = topMargin;
 
         // This tells accessibility services that progress bar changes are important enough to
         // announce to the user even when not focused.
         ViewCompat.setAccessibilityLiveRegion(this, ViewCompat.ACCESSIBILITY_LIVE_REGION_POLITE);
     }
 
-    /**
-     * Prepare the progress bar for being attached to the window.
-     * @param topMargin The progress bar's top margin.
-     */
-    public void prepareForAttach(int topMargin) {
-        LayoutParams curParams = new LayoutParams(getLayoutParams());
-        mMarginTop = topMargin;
-        curParams.topMargin = mMarginTop;
-        setLayoutParams(curParams);
+    @Override
+    public void onAttachedToWindow() {
+        super.onAttachedToWindow();
+
+        ((ViewGroup.MarginLayoutParams) getLayoutParams()).topMargin = mMarginTop;
     }
 
     /**
diff --git a/chrome/android/java/templates/BUILD.gn b/chrome/android/java/templates/BUILD.gn
index 52a597c2d..2ef1807 100644
--- a/chrome/android/java/templates/BUILD.gn
+++ b/chrome/android/java/templates/BUILD.gn
@@ -20,6 +20,7 @@
     ":monochrome_application_class",
     "//android_webview/glue",
     "//base:base_java",
+    "//chrome/android:app_hooks_java",
     "//chrome/android:chrome_java",
     "//content/public/android:content_java",
   ]
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
index ce38acb..c535eca 100644
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -23,6 +23,7 @@
   "java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
   "java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
   "java/src/org/chromium/chrome/browser/ChromeFeatureList.java",
+  "java/src/org/chromium/chrome/browser/AppHooks.java",
   "java/src/org/chromium/chrome/browser/ChromeHttpAuthHandler.java",
   "java/src/org/chromium/chrome/browser/ChromeStrictMode.java",
   "java/src/org/chromium/chrome/browser/ChromeSwitches.java",
@@ -1122,6 +1123,7 @@
   "java/src/org/chromium/chrome/browser/widget/DateDividedAdapter.java",
   "java/src/org/chromium/chrome/browser/widget/DualControlLayout.java",
   "java/src/org/chromium/chrome/browser/widget/EmptyAlertEditText.java",
+  "java/src/org/chromium/chrome/browser/widget/EmptyBottomSheetObserver.java",
   "java/src/org/chromium/chrome/browser/widget/FadingBackgroundView.java",
   "java/src/org/chromium/chrome/browser/widget/FadingShadow.java",
   "java/src/org/chromium/chrome/browser/widget/FadingShadowView.java",
@@ -1380,7 +1382,6 @@
   "javatests/src/org/chromium/chrome/browser/partnercustomizations/PartnerHomepageUnitTest.java",
   "javatests/src/org/chromium/chrome/browser/physicalweb/MockPwsClient.java",
   "javatests/src/org/chromium/chrome/browser/physicalweb/PwsClientImplTest.java",
-  "javatests/src/org/chromium/chrome/browser/physicalweb/UrlInfoTest.java",
   "javatests/src/org/chromium/chrome/browser/physicalweb/UrlManagerTest.java",
   "javatests/src/org/chromium/chrome/browser/policy/CombinedPolicyProviderTest.java",
   "javatests/src/org/chromium/chrome/browser/payments/CurrencyFormatterTest.java",
@@ -1594,6 +1595,7 @@
   "junit/src/org/chromium/chrome/browser/omaha/VersionNumberTest.java",
   "junit/src/org/chromium/chrome/browser/payments/AutofillContactTest.java",
   "junit/src/org/chromium/chrome/browser/payments/AutofillContactUnitTest.java",
+  "junit/src/org/chromium/chrome/browser/physicalweb/UrlInfoTest.java",
   "junit/src/org/chromium/chrome/browser/snackbar/SnackbarCollectionUnitTest.java",
   "junit/src/org/chromium/chrome/browser/suggestions/TileGroupTest.java",
   "junit/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProviderUnitTest.java",
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/physicalweb/UrlInfoTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/physicalweb/UrlInfoTest.java
deleted file mode 100644
index 01bdd45..0000000
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/physicalweb/UrlInfoTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2015 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.physicalweb;
-
-import android.support.test.filters.SmallTest;
-
-import junit.framework.TestCase;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-/**
- * Tests for {@link UrlInfo}.
- */
-public class UrlInfoTest extends TestCase {
-    private static final String URL = "https://example.com";
-    UrlInfo mReferenceUrlInfo = null;
-    JSONObject mReferenceJsonObject = null;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mReferenceUrlInfo = new UrlInfo(URL, 99.5, 42)
-                .setHasBeenDisplayed()
-                .setDeviceAddress("00:11:22:33:AA:BB");
-        // Because we can't print JSON sorted by keys, the order is important here.
-        mReferenceJsonObject = new JSONObject("{"
-                + "    \"url\": \"" + URL + "\","
-                + "    \"distance\": 99.5,"
-                + "    \"scan_timestamp\": 42,"
-                + "    \"device_address\": \"00:11:22:33:AA:BB\","
-                + "    \"has_been_displayed\": true"
-                + "}");
-    }
-
-    @SmallTest
-    public void testJsonSerializeWorks() throws JSONException {
-        assertEquals(mReferenceJsonObject.toString(), mReferenceUrlInfo.jsonSerialize().toString());
-    }
-
-    @SmallTest
-    public void testJsonDeserializeWorks() throws JSONException {
-        UrlInfo urlInfo = UrlInfo.jsonDeserialize(mReferenceJsonObject);
-        assertEquals(mReferenceUrlInfo.getUrl(), urlInfo.getUrl());
-        assertEquals(mReferenceUrlInfo.getDistance(), urlInfo.getDistance());
-        assertEquals(mReferenceUrlInfo.getScanTimestamp(), urlInfo.getScanTimestamp());
-        assertEquals(mReferenceUrlInfo.getDeviceAddress(), urlInfo.getDeviceAddress());
-        assertEquals(mReferenceUrlInfo.hasBeenDisplayed(), urlInfo.hasBeenDisplayed());
-    }
-}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
index 768e3e42..27c7ac6 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
@@ -13,7 +13,6 @@
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.Restriction;
 import org.chromium.base.test.util.RetryOnFailure;
-import org.chromium.chrome.R;
 import org.chromium.chrome.browser.ChromeTabbedActivity;
 import org.chromium.chrome.test.ChromeActivityTestCaseBase;
 import org.chromium.chrome.test.util.ChromeRestriction;
@@ -70,7 +69,7 @@
         OnPageFinishedHelper finishHelper = observer.getOnPageFinishedHelper();
 
         ToolbarProgressBar progressBar =
-                (ToolbarProgressBar) getActivity().findViewById(R.id.progress);
+                getActivity().getToolbarManager().getToolbarLayout().getProgressBar();
 
         // Reset progress bar start count in case anything else triggered it.
         progressBar.resetStartCountForTesting();
@@ -123,7 +122,8 @@
         ThreadUtils.runOnUiThreadBlocking(new Runnable() {
             @Override
             public void run() {
-                progressBar.set((ToolbarProgressBar) getActivity().findViewById(R.id.progress));
+                progressBar.set(
+                        getActivity().getToolbarManager().getToolbarLayout().getProgressBar());
                 progressBar.get().setAlphaAnimationDuration(10);
                 progressBar.get().setHidingDelay(10);
                 progressBar.get().animate().setListener(new AnimatorListener() {
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/physicalweb/UrlInfoTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/physicalweb/UrlInfoTest.java
new file mode 100644
index 0000000..2c35ebc
--- /dev/null
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/physicalweb/UrlInfoTest.java
@@ -0,0 +1,56 @@
+// Copyright 2015 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.physicalweb;
+
+import static org.junit.Assert.assertEquals;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.BlockJUnit4ClassRunner;
+
+/**
+ * Tests for {@link UrlInfo}.
+ */
+@RunWith(BlockJUnit4ClassRunner.class)
+public class UrlInfoTest {
+    private static final String URL = "https://example.com";
+    private static final double EPSILON = .001;
+    UrlInfo mReferenceUrlInfo = null;
+    JSONObject mReferenceJsonObject = null;
+
+    @Before
+    public void setUp() throws JSONException {
+        mReferenceUrlInfo = new UrlInfo(URL, 99.5, 42)
+                .setHasBeenDisplayed()
+                .setDeviceAddress("00:11:22:33:AA:BB");
+        // Because we can't print JSON sorted by keys, the order is important here.
+        mReferenceJsonObject = new JSONObject("{"
+                + "    \"url\": \"" + URL + "\","
+                + "    \"distance\": 99.5,"
+                + "    \"scan_timestamp\": 42,"
+                + "    \"device_address\": \"00:11:22:33:AA:BB\","
+                + "    \"has_been_displayed\": true"
+                + "}");
+    }
+
+    @Test
+    public void testJsonSerializeWorks() throws JSONException {
+        assertEquals(mReferenceJsonObject.toString(), mReferenceUrlInfo.jsonSerialize().toString());
+    }
+
+    @Test
+    public void testJsonDeserializeWorks() throws JSONException {
+        UrlInfo urlInfo = UrlInfo.jsonDeserialize(mReferenceJsonObject);
+        assertEquals(mReferenceUrlInfo.getUrl(), urlInfo.getUrl());
+        assertEquals(mReferenceUrlInfo.getDistance(), urlInfo.getDistance(), EPSILON);
+        assertEquals(mReferenceUrlInfo.getScanTimestamp(), urlInfo.getScanTimestamp());
+        assertEquals(mReferenceUrlInfo.getDeviceAddress(), urlInfo.getDeviceAddress());
+        assertEquals(mReferenceUrlInfo.hasBeenDisplayed(), urlInfo.hasBeenDisplayed());
+    }
+}
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 1c9d173a0..24c24f987 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -14575,6 +14575,12 @@
       <message name="IDS_VR_SHELL_UI_RELOAD_BUTTON" desc="Text under the VR scene reload page button">
         Reload
       </message>
+      <message name="IDS_VR_SHELL_NEW_TAB_BUTTON" desc="Text on the VR scene new tab button">
+        New Tab
+      </message>
+      <message name="IDS_VR_SHELL_NEW_INCOGNITO_TAB_BUTTON" desc="Text on the VR scene new incognito tab button">
+        New Incognito Tab
+      </message>
     </if>
 
     <!-- Web payments -->
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index da41720..8f2e9b0 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -845,12 +845,6 @@
      IDS_FLAGS_CONTEXTUAL_SEARCH_DESCRIPTION, kOsAndroid,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableContextualSearch,
                                switches::kDisableContextualSearch)},
-    {"cs-contextual-cards-bar-integration",
-     IDS_FLAGS_CONTEXTUAL_SEARCH_CONTEXTUAL_CARDS_BAR_INTEGRATION,
-     IDS_FLAGS_CONTEXTUAL_SEARCH_CONTEXTUAL_CARDS_BAR_INTEGRATION_DESCRIPTION,
-     kOsAndroid,
-     SINGLE_VALUE_TYPE(
-         switches::kEnableContextualSearchContextualCardsBarIntegration)},
     {"cs-contextual-cards-single-actions",
      IDS_FLAGS_CONTEXTUAL_SEARCH_SINGLE_ACTIONS,
      IDS_FLAGS_CONTEXTUAL_SEARCH_SINGLE_ACTIONS_DESCRIPTION, kOsAndroid,
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
index 5e66ec0e..76962c3 100644
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
@@ -111,7 +111,7 @@
                                        base::FEATURE_DISABLED_BY_DEFAULT};
 
 const base::Feature kContextualSearchSingleActions{
-    "ContextualSearchSingleActions", base::FEATURE_DISABLED_BY_DEFAULT};
+    "ContextualSearchSingleActions", base::FEATURE_ENABLED_BY_DEFAULT};
 
 const base::Feature kCustomFeedbackUi{"CustomFeedbackUi",
                                       base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/android/contextualsearch/contextual_search_delegate.cc b/chrome/browser/android/contextualsearch/contextual_search_delegate.cc
index 9dc3d88..bde0a2f5 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_delegate.cc
+++ b/chrome/browser/android/contextualsearch/contextual_search_delegate.cc
@@ -69,7 +69,6 @@
 const int kSurroundingSizeForUI = 60;
 
 // The version of the Contextual Cards API that we want to invoke.
-const int kContextualCardsNoIntegration = 0;
 const int kContextualCardsBarIntegration = 1;
 const int kContextualCardsSingleAction = 2;
 const int kContextualCardsUrlActions = 3;
@@ -232,9 +231,7 @@
   TemplateURLRef::SearchTermsArgs search_terms_args =
       TemplateURLRef::SearchTermsArgs(base::string16());
 
-  int contextual_cards_version = kContextualCardsNoIntegration;
-  if (field_trial_->IsContextualCardsBarIntegrationEnabled())
-    contextual_cards_version = kContextualCardsBarIntegration;
+  int contextual_cards_version = kContextualCardsBarIntegration;
   if (base::FeatureList::IsEnabled(
           chrome::android::kContextualSearchSingleActions)) {
     contextual_cards_version = kContextualCardsSingleAction;
@@ -527,13 +524,11 @@
     }
   }
 
-  if (field_trial_->IsContextualCardsBarIntegrationEnabled()) {
-    // Contextual Cards V1 Integration.
-    // Get the basic Bar data for Contextual Cards integration directly
-    // from the root.
-    dict->GetString(kContextualSearchCaption, caption);
-    dict->GetString(kContextualSearchThumbnail, thumbnail_url);
-  }
+  // Contextual Cards V1 Integration.
+  // Get the basic Bar data for Contextual Cards integration directly
+  // from the root.
+  dict->GetString(kContextualSearchCaption, caption);
+  dict->GetString(kContextualSearchThumbnail, thumbnail_url);
 
   if (base::FeatureList::IsEnabled(
           chrome::android::kContextualSearchSingleActions)) {
diff --git a/chrome/browser/android/contextualsearch/contextual_search_delegate_unittest.cc b/chrome/browser/android/contextualsearch/contextual_search_delegate_unittest.cc
index f373452..5646a65 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_delegate_unittest.cc
+++ b/chrome/browser/android/contextualsearch/contextual_search_delegate_unittest.cc
@@ -43,8 +43,6 @@
 
  protected:
   void SetUp() override {
-    base::CommandLine::ForCurrentProcess()->AppendSwitch(
-        switches::kEnableContextualSearchContextualCardsBarIntegration);
     request_context_ =
         new net::TestURLRequestContextGetter(io_message_loop_.task_runner());
     template_url_service_.reset(CreateTemplateURLService());
diff --git a/chrome/browser/android/contextualsearch/contextual_search_field_trial.cc b/chrome/browser/android/contextualsearch/contextual_search_field_trial.cc
index 8e8310f2..06089c01 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_field_trial.cc
+++ b/chrome/browser/android/contextualsearch/contextual_search_field_trial.cc
@@ -44,8 +44,6 @@
       is_send_base_page_url_disabled_(false),
       is_decode_mentions_disabled_cached_(false),
       is_decode_mentions_disabled_(false),
-      is_contextual_cards_bar_integration_enabled_cached_(false),
-      is_contextual_cards_bar_integration_enabled_(false),
       is_contextual_cards_version_cached_(false),
       contextual_cards_version_(0) {}
 
@@ -87,13 +85,6 @@
                          &is_decode_mentions_disabled_);
 }
 
-bool ContextualSearchFieldTrial::IsContextualCardsBarIntegrationEnabled() {
-  return GetBooleanParam(
-      switches::kEnableContextualSearchContextualCardsBarIntegration,
-      &is_contextual_cards_bar_integration_enabled_cached_,
-      &is_contextual_cards_bar_integration_enabled_);
-}
-
 int ContextualSearchFieldTrial::GetContextualCardsVersion() {
   return GetIntParamValueOrDefault(kContextualCardsVersionParamName, 0,
                                    &is_contextual_cards_version_cached_,
diff --git a/chrome/browser/android/contextualsearch/contextual_search_field_trial.h b/chrome/browser/android/contextualsearch/contextual_search_field_trial.h
index fc99a55..3a5570f 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_field_trial.h
+++ b/chrome/browser/android/contextualsearch/contextual_search_field_trial.h
@@ -91,9 +91,6 @@
   bool is_decode_mentions_disabled_cached_;
   bool is_decode_mentions_disabled_;
 
-  bool is_contextual_cards_bar_integration_enabled_cached_;
-  bool is_contextual_cards_bar_integration_enabled_;
-
   bool is_contextual_cards_version_cached_;
   int contextual_cards_version_;
 
diff --git a/chrome/browser/android/vr_shell/vr_shell.cc b/chrome/browser/android/vr_shell/vr_shell.cc
index ba595ae..29eeea7 100644
--- a/chrome/browser/android/vr_shell/vr_shell.cc
+++ b/chrome/browser/android/vr_shell/vr_shell.cc
@@ -446,7 +446,13 @@
       int id;
       CHECK(arguments->GetInteger("id", &id));
       delegate_provider_->ShowTab(id);
-      break;
+      return;
+    }
+    case OPEN_NEW_TAB: {
+      bool incognito;
+      CHECK(arguments->GetBoolean("incognito", &incognito));
+      delegate_provider_->OpenNewTab(incognito);
+      return;
     }
 #if defined(ENABLE_VR_SHELL_UI_DEV)
     case RELOAD_UI:
@@ -480,9 +486,6 @@
                                ui::PageTransition::PAGE_TRANSITION_TYPED);
       break;
     }
-    case SHOW_TAB:
-      // Not handled in Java.
-      break;
     default:
       NOTREACHED();
   }
diff --git a/chrome/browser/android/vr_shell/vr_shell.h b/chrome/browser/android/vr_shell/vr_shell.h
index b887d5079..8ba6e6e 100644
--- a/chrome/browser/android/vr_shell/vr_shell.h
+++ b/chrome/browser/android/vr_shell/vr_shell.h
@@ -58,6 +58,7 @@
   OMNIBOX_CONTENT,
   SET_CONTENT_PAUSED,
   SHOW_TAB,
+  OPEN_NEW_TAB,
 };
 
 class VrMetricsHelper;
diff --git a/chrome/browser/android/vr_shell/vr_shell_delegate.cc b/chrome/browser/android/vr_shell/vr_shell_delegate.cc
index a25b6a5..681f030 100644
--- a/chrome/browser/android/vr_shell/vr_shell_delegate.cc
+++ b/chrome/browser/android/vr_shell/vr_shell_delegate.cc
@@ -120,6 +120,11 @@
   Java_VrShellDelegate_showTab(env, j_vr_shell_delegate_.obj(), id);
 }
 
+void VrShellDelegate::OpenNewTab(bool incognito) {
+  JNIEnv* env = AttachCurrentThread();
+  Java_VrShellDelegate_openNewTab(env, j_vr_shell_delegate_.obj(), incognito);
+}
+
 void VrShellDelegate::SetDeviceProvider(
     device::GvrDeviceProvider* device_provider) {
   CHECK(!device_provider_);
diff --git a/chrome/browser/android/vr_shell/vr_shell_delegate.h b/chrome/browser/android/vr_shell/vr_shell_delegate.h
index a1e00ae..68d35088 100644
--- a/chrome/browser/android/vr_shell/vr_shell_delegate.h
+++ b/chrome/browser/android/vr_shell/vr_shell_delegate.h
@@ -45,6 +45,7 @@
   void OnPause(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
   void OnResume(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
   void ShowTab(int id);
+  void OpenNewTab(bool incognito);
 
   device::GvrDeviceProvider* device_provider() { return device_provider_; }
   void OnVRVsyncProviderRequest(device::mojom::VRVSyncProviderRequest request);
diff --git a/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc b/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc
index 5d5eb78..dd439fb 100644
--- a/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc
+++ b/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc
@@ -1129,16 +1129,8 @@
   ASSERT_TRUE(done_listener.WaitUntilSatisfied());
 }
 
-// Flaky on Linux: crbug.com/678267
-#if defined(OS_LINUX)
-#define MAYBE_PointerLock_PointerLockLostWithFocus \
-  DISABLED_PointerLock_PointerLockLostWithFocus
-#else
-#define MAYBE_PointerLock_PointerLockLostWithFocus \
-  PointerLock_PointerLockLostWithFocus
-#endif
 IN_PROC_BROWSER_TEST_P(WebViewPointerLockInteractiveTest,
-                       MAYBE_PointerLock_PointerLockLostWithFocus) {
+                       PointerLock_PointerLockLostWithFocus) {
   TestHelper("testPointerLockLostWithFocus",
              "web_view/pointerlock",
              NO_TEST_SERVER);
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 16647100..be3a5cd 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -85,7 +85,6 @@
 #include "chrome/browser/tab_contents/tab_util.h"
 #include "chrome/browser/tracing/chrome_tracing_delegate.h"
 #include "chrome/browser/translate/chrome_translate_client.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "chrome/browser/ui/blocked_content/blocked_window_params.h"
 #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h"
 #include "chrome/browser/ui/browser_navigator.h"
@@ -218,6 +217,7 @@
 #elif defined(OS_MACOSX)
 #include "chrome/browser/chrome_browser_main_mac.h"
 #elif defined(OS_CHROMEOS)
+#include "ash/public/interfaces/constants.mojom.h"
 #include "chrome/browser/chromeos/arc/arc_util.h"
 #include "chrome/browser/chromeos/arc/fileapi/arc_content_file_system_backend_delegate.h"
 #include "chrome/browser/chromeos/arc/fileapi/arc_documents_provider_backend_delegate.h"
@@ -3245,7 +3245,7 @@
     content::ServiceInfo info;
     info.factory = base::Bind(&ash_util::CreateEmbeddedAshService,
                               base::ThreadTaskRunnerHandle::Get());
-    services->insert(std::make_pair("ash", info));
+    services->insert(std::make_pair(ash::mojom::kServiceName, info));
   }
 #endif  // OS_CHROMEOS
 }
diff --git a/chrome/browser/chromeos/arc/arc_service_launcher.cc b/chrome/browser/chromeos/arc/arc_service_launcher.cc
index 1a5ffa2..de82aa9 100644
--- a/chrome/browser/chromeos/arc/arc_service_launcher.cc
+++ b/chrome/browser/chromeos/arc/arc_service_launcher.cc
@@ -14,6 +14,7 @@
 #include "chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h"
 #include "chrome/browser/chromeos/arc/arc_auth_service.h"
 #include "chrome/browser/chromeos/arc/arc_session_manager.h"
+#include "chrome/browser/chromeos/arc/arc_util.h"
 #include "chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.h"
 #include "chrome/browser/chromeos/arc/downloads_watcher/arc_downloads_watcher_service.h"
 #include "chrome/browser/chromeos/arc/enterprise/arc_enterprise_reporting_service.h"
@@ -22,6 +23,7 @@
 #include "chrome/browser/chromeos/arc/intent_helper/arc_settings_service.h"
 #include "chrome/browser/chromeos/arc/notification/arc_boot_error_notification.h"
 #include "chrome/browser/chromeos/arc/policy/arc_policy_bridge.h"
+#include "chrome/browser/chromeos/arc/policy/arc_policy_util.h"
 #include "chrome/browser/chromeos/arc/print/arc_print_service.h"
 #include "chrome/browser/chromeos/arc/process/arc_process_service.h"
 #include "chrome/browser/chromeos/arc/tts/arc_tts_service.h"
@@ -141,6 +143,25 @@
 
 void ArcServiceLauncher::OnPrimaryUserProfilePrepared(Profile* profile) {
   DCHECK(arc_service_manager_);
+  DCHECK(arc_session_manager_);
+  // TODO(hidehiko): DCHECK(!arc_session_manager_->IsAllowed()) here.
+  // Do not expect it in real use case, but it is used for testing.
+  // Because the ArcService instances tied to the old profile is kept,
+  // and ones tied to the new profile are added, which is unexpected situation.
+  // For compatibility, call Shutdown() here in case |profile| is not
+  // allowed for ARC.
+  arc_session_manager_->Shutdown();
+
+  if (!IsArcAllowedForProfile(profile))
+    return;
+
+  // TODO(khmel): Move this to IsArcAllowedForProfile.
+  if (policy_util::IsArcDisabledForEnterprise() &&
+      policy_util::IsAccountManaged(profile)) {
+    VLOG(2) << "Enterprise users are not supported in ARC.";
+    return;
+  }
+
   // List in lexicographical order
   arc_service_manager_->AddService(base::MakeUnique<ArcBootPhaseMonitorBridge>(
       arc_service_manager_->arc_bridge_service(),
@@ -161,7 +182,8 @@
         chromeos::ArcKioskAppService::Get(profile)));
   }
 
-  arc_session_manager_->OnPrimaryUserProfilePrepared(profile);
+  arc_session_manager_->SetProfile(profile);
+  arc_session_manager_->StartPreferenceHandler();
 }
 
 void ArcServiceLauncher::Shutdown() {
diff --git a/chrome/browser/chromeos/arc/arc_session_manager.cc b/chrome/browser/chromeos/arc/arc_session_manager.cc
index 8e8edba1..4e4ec24 100644
--- a/chrome/browser/chromeos/arc/arc_session_manager.cc
+++ b/chrome/browser/chromeos/arc/arc_session_manager.cc
@@ -386,22 +386,16 @@
   return profile_ != nullptr;
 }
 
-void ArcSessionManager::OnPrimaryUserProfilePrepared(Profile* profile) {
+void ArcSessionManager::SetProfile(Profile* profile) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-  DCHECK(profile && profile != profile_);
+  DCHECK(IsArcAllowedForProfile(profile));
 
+  // TODO(hidehiko): Remove this condition, and following Shutdown().
+  // Do not expect that SetProfile() is called for various Profile instances.
+  // At the moment, it is used for testing purpose.
+  DCHECK(profile != profile_);
   Shutdown();
 
-  if (!IsArcAllowedForProfile(profile))
-    return;
-
-  // TODO(khmel): Move this to IsArcAllowedForProfile.
-  if (policy_util::IsArcDisabledForEnterprise() &&
-      policy_util::IsAccountManaged(profile)) {
-    VLOG(2) << "Enterprise users are not supported in ARC.";
-    return;
-  }
-
   profile_ = profile;
 
   // Create the support host at initialization. Note that, practically,
@@ -417,54 +411,25 @@
       !IsArcKioskMode()) {
     DCHECK(!support_host_);
     support_host_ = base::MakeUnique<ArcSupportHost>(profile_);
-    support_host_->SetArcManaged(
-        IsArcPlayStoreEnabledPreferenceManagedForProfile(profile_));
     support_host_->AddObserver(this);
   }
 
   DCHECK_EQ(State::NOT_INITIALIZED, state_);
   SetState(State::STOPPED);
 
-  context_.reset(new ArcAuthContext(profile_));
+  context_ = base::MakeUnique<ArcAuthContext>(profile_);
 
   if (!g_disable_ui_for_testing ||
       g_enable_check_android_management_for_testing) {
     ArcAndroidManagementChecker::StartClient();
   }
 
-  pref_change_registrar_.Init(profile_->GetPrefs());
-  pref_change_registrar_.Add(
-      prefs::kArcEnabled,
-      base::Bind(&ArcSessionManager::OnOptInPreferenceChanged,
-                 weak_ptr_factory_.GetWeakPtr()));
-
   // Chrome may be shut down before completing ARC data removal.
   // In such a case, start removing the data now.
   if (profile_->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested)) {
     VLOG(1) << "ARC data removal requested in previous session.";
     RemoveArcData();
   }
-
-  if (IsArcPlayStoreEnabledForProfile(profile_)) {
-    VLOG(1) << "ARC is already enabled.";
-    DCHECK(!enable_requested_);
-    RequestEnable();
-  } else {
-    if (IsArcPlayStoreEnabledPreferenceManagedForProfile(profile_)) {
-      // All users that can disable ARC by themselves will have the
-      // |kARcDataRemoveRequested| pref set, so we don't need to eagerly remove
-      // the data for that case.
-      // For managed users, the preference can change when the Profile object is
-      // not alive, so we still need to check it here in case it was disabled to
-      // ensure that the data is deleted in case it was disabled between
-      // launches.
-      VLOG(1) << "ARC is initially disabled for managed profile. "
-              << "Removing data.";
-      RemoveArcData();
-    }
-    PrefServiceSyncableFromProfile(profile_)->AddObserver(this);
-    OnIsSyncingChanged();
-  }
 }
 
 void ArcSessionManager::OnIsSyncingChanged() {
@@ -513,6 +478,46 @@
     support_host_->Close();
 }
 
+void ArcSessionManager::StartPreferenceHandler() {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+  DCHECK(profile_);
+
+  // Start observing Google Play Store enabled preference.
+  pref_change_registrar_.Init(profile_->GetPrefs());
+  pref_change_registrar_.Add(
+      prefs::kArcEnabled,
+      base::Bind(&ArcSessionManager::OnOptInPreferenceChanged,
+                 weak_ptr_factory_.GetWeakPtr()));
+
+  // Set initial managed state to ArcSupportHost to update the message.
+  if (support_host_) {
+    support_host_->SetArcManaged(
+        IsArcPlayStoreEnabledPreferenceManagedForProfile(profile_));
+  }
+
+  // Update the state based on the initial Google Play Store enabled value.
+  if (IsArcPlayStoreEnabledForProfile(profile_)) {
+    VLOG(1) << "ARC is already enabled.";
+    DCHECK(!enable_requested_);
+    RequestEnable();
+  } else {
+    if (IsArcPlayStoreEnabledPreferenceManagedForProfile(profile_)) {
+      // All users that can disable ARC by themselves will have the
+      // |kARcDataRemoveRequested| pref set, so we don't need to eagerly remove
+      // the data for that case.
+      // For managed users, the preference can change when the Profile object is
+      // not alive, so we still need to check it here in case it was disabled to
+      // ensure that the data is deleted in case it was disabled between
+      // launches.
+      VLOG(1) << "ARC is initially disabled for managed profile. "
+              << "Removing data.";
+      RemoveArcData();
+    }
+    PrefServiceSyncableFromProfile(profile_)->AddObserver(this);
+    OnIsSyncingChanged();
+  }
+}
+
 void ArcSessionManager::OnOptInPreferenceChanged() {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   DCHECK(profile_);
diff --git a/chrome/browser/chromeos/arc/arc_session_manager.h b/chrome/browser/chromeos/arc/arc_session_manager.h
index d519235..fba0655f 100644
--- a/chrome/browser/chromeos/arc/arc_session_manager.h
+++ b/chrome/browser/chromeos/arc/arc_session_manager.h
@@ -121,14 +121,26 @@
   // has different meaning. Clean this up.
   bool IsAllowed() const;
 
-  void OnPrimaryUserProfilePrepared(Profile* profile);
   void Shutdown();
 
+  // Sets the |profile|, and sets up Profile related fields in this instance.
+  // IsArcAllowedForProfile() must return true for the given |profile|.
+  void SetProfile(Profile* profile);
+
   Profile* profile() { return profile_; }
   const Profile* profile() const { return profile_; }
 
   State state() const { return state_; }
 
+  // Starts observing Google Play Store enabled preference change.
+  // Also, based on its initial value, this may start ArcSession, or may start
+  // removing the data, as initial state.
+  // In addition, this triggers to show ArcAuthNotification, if necessary.
+  // Note that this must be called after SetProfile().
+  // TODO(hidehiko): Extract preference related code into a class to split the
+  // dependencty.
+  void StartPreferenceHandler();
+
   // Adds or removes observers.
   void AddObserver(Observer* observer);
   void RemoveObserver(Observer* observer);
@@ -235,8 +247,6 @@
   void OnAndroidManagementPassed();
   void OnArcDataRemoved(bool success);
   void OnArcSignInTimeout();
-  void FetchAuthCode();
-  void PrepareContextForAuthCodeRequest();
 
   void StartArcAndroidManagementCheck();
   void MaybeReenableArc();
diff --git a/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc b/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc
index 084d9e6..130662b0 100644
--- a/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc
+++ b/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc
@@ -214,6 +214,10 @@
         profile()->GetProfileUserName(), "1234567890"));
     GetFakeUserManager()->AddUser(account_id);
     GetFakeUserManager()->LoginUser(account_id);
+
+    ASSERT_EQ(ArcSessionManager::State::NOT_INITIALIZED,
+              arc_session_manager()->state());
+    ASSERT_TRUE(arc_session_manager()->IsSessionStopped());
   }
 
  private:
@@ -221,22 +225,20 @@
 };
 
 TEST_F(ArcSessionManagerTest, PrefChangeTriggersService) {
-  ASSERT_EQ(ArcSessionManager::State::NOT_INITIALIZED,
-            arc_session_manager()->state());
+  ASSERT_FALSE(IsArcPlayStoreEnabledForProfile(profile()));
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->StartPreferenceHandler();
 
-  PrefService* const pref = profile()->GetPrefs();
-  ASSERT_FALSE(pref->GetBoolean(prefs::kArcEnabled));
+  EXPECT_FALSE(
+      profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested));
+  EXPECT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state());
 
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
-
-  ASSERT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state());
-
-  pref->SetBoolean(prefs::kArcEnabled, true);
+  SetArcPlayStoreEnabledForProfile(profile(), true);
   base::RunLoop().RunUntilIdle();
   ASSERT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
             arc_session_manager()->state());
 
-  pref->SetBoolean(prefs::kArcEnabled, false);
+  SetArcPlayStoreEnabledForProfile(profile(), false);
 
   ASSERT_TRUE(WaitForDataRemoved(ArcSessionManager::State::STOPPED));
 
@@ -244,42 +246,12 @@
   arc_session_manager()->Shutdown();
 }
 
-TEST_F(ArcSessionManagerTest, BaseWorkflow) {
-  ASSERT_TRUE(arc_session_manager()->IsSessionStopped());
-  ASSERT_EQ(ArcSessionManager::State::NOT_INITIALIZED,
-            arc_session_manager()->state());
-  EXPECT_TRUE(arc_session_manager()->sign_in_start_time().is_null());
-  EXPECT_TRUE(arc_session_manager()->arc_start_time().is_null());
+TEST_F(ArcSessionManagerTest, PrefChangeTriggersService_Restart) {
+  // Sets the Google Play Store preference at beginning.
+  SetArcPlayStoreEnabledForProfile(profile(), true);
 
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
-
-  // By default ARC is not enabled.
-  ASSERT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state());
-
-  profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
-  base::RunLoop().RunUntilIdle();
-
-  // Setting profile and pref initiates a code fetching process.
-  ASSERT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
-            arc_session_manager()->state());
-
-  // TODO(hidehiko): Verify state transition from SHOWING_TERMS_OF_SERVICE ->
-  // CHECKING_ANDROID_MANAGEMENT, when we extract ArcSessionManager.
-  arc_session_manager()->StartArc();
-
-  EXPECT_TRUE(arc_session_manager()->sign_in_start_time().is_null());
-  EXPECT_FALSE(arc_session_manager()->arc_start_time().is_null());
-
-  ASSERT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
-  ASSERT_TRUE(arc_session_manager()->IsSessionRunning());
-
-  arc_session_manager()->Shutdown();
-  ASSERT_EQ(ArcSessionManager::State::NOT_INITIALIZED,
-            arc_session_manager()->state());
-  ASSERT_TRUE(arc_session_manager()->IsSessionStopped());
-
-  // Send profile and don't provide a code.
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->StartPreferenceHandler();
 
   // Setting profile initiates a code fetching process.
   ASSERT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
@@ -296,58 +268,92 @@
   arc_session_manager()->Shutdown();
 }
 
-TEST_F(ArcSessionManagerTest, CancelFetchingDisablesArc) {
-  PrefService* const pref = profile()->GetPrefs();
+TEST_F(ArcSessionManagerTest, BaseWorkflow) {
+  EXPECT_TRUE(arc_session_manager()->sign_in_start_time().is_null());
+  EXPECT_TRUE(arc_session_manager()->arc_start_time().is_null());
 
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
-  pref->SetBoolean(prefs::kArcEnabled, true);
+  arc_session_manager()->SetProfile(profile());
+
+  // By default ARC is not enabled.
+  EXPECT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state());
+
+  // Enables ARC. First time, ToS negotiation should start.
+  arc_session_manager()->RequestEnable();
   base::RunLoop().RunUntilIdle();
-
   ASSERT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
             arc_session_manager()->state());
 
+  // TODO(hidehiko): Verify state transition from SHOWING_TERMS_OF_SERVICE ->
+  // CHECKING_ANDROID_MANAGEMENT, when we extract ArcSessionManager.
+  arc_session_manager()->StartArc();
+
+  EXPECT_TRUE(arc_session_manager()->sign_in_start_time().is_null());
+  EXPECT_FALSE(arc_session_manager()->arc_start_time().is_null());
+
+  ASSERT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
+  ASSERT_TRUE(arc_session_manager()->IsSessionRunning());
+
+  arc_session_manager()->Shutdown();
+}
+
+TEST_F(ArcSessionManagerTest, CancelFetchingDisablesArc) {
+  SetArcPlayStoreEnabledForProfile(profile(), true);
+
+  // Starts ARC.
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->RequestEnable();
+  base::RunLoop().RunUntilIdle();
+  ASSERT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
+            arc_session_manager()->state());
+
+  // Emulate to cancel the ToS UI (e.g. closing the window).
   arc_session_manager()->CancelAuthCode();
 
+  // Google Play Store enabled preference should be set to false, too.
+  EXPECT_FALSE(IsArcPlayStoreEnabledForProfile(profile()));
+
+  // Emulate the preference handling.
+  arc_session_manager()->RequestDisable();
+
   // Wait until data is removed.
   ASSERT_TRUE(WaitForDataRemoved(ArcSessionManager::State::STOPPED));
 
-  ASSERT_FALSE(pref->GetBoolean(prefs::kArcEnabled));
-
   // Correctly stop service.
   arc_session_manager()->Shutdown();
 }
 
 TEST_F(ArcSessionManagerTest, CloseUIKeepsArcEnabled) {
-  PrefService* const pref = profile()->GetPrefs();
-
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
-  pref->SetBoolean(prefs::kArcEnabled, true);
+  // Starts ARC.
+  SetArcPlayStoreEnabledForProfile(profile(), true);
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->RequestEnable();
   base::RunLoop().RunUntilIdle();
-
+  ASSERT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
+            arc_session_manager()->state());
   arc_session_manager()->StartArc();
-
   ASSERT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
 
+  // When ARC is properly started, closing UI should be no-op.
   arc_session_manager()->CancelAuthCode();
-  ASSERT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
-  ASSERT_TRUE(pref->GetBoolean(prefs::kArcEnabled));
+  EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
+  EXPECT_TRUE(IsArcPlayStoreEnabledForProfile(profile()));
 
   // Correctly stop service.
   arc_session_manager()->Shutdown();
 }
 
-TEST_F(ArcSessionManagerTest, SignInStatus) {
+TEST_F(ArcSessionManagerTest, Provisioning_Success) {
   PrefService* const prefs = profile()->GetPrefs();
 
   EXPECT_TRUE(arc_session_manager()->sign_in_start_time().is_null());
   EXPECT_TRUE(arc_session_manager()->arc_start_time().is_null());
   EXPECT_FALSE(arc_session_manager()->IsPlaystoreLaunchRequestedForTesting());
 
-  EXPECT_FALSE(prefs->GetBoolean(prefs::kArcSignedIn));
-  prefs->SetBoolean(prefs::kArcEnabled, true);
+  ASSERT_FALSE(prefs->GetBoolean(prefs::kArcSignedIn));
 
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
-  EXPECT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->RequestEnable();
+  ASSERT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
             arc_session_manager()->state());
 
   // Emulate to accept the terms of service.
@@ -355,23 +361,32 @@
   arc_session_manager()->StartArc();
   EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
   EXPECT_TRUE(arc_session_manager()->IsSessionRunning());
+
+  // Here, provisining is not yet completed, so kArcSignedIn should be false.
   EXPECT_FALSE(prefs->GetBoolean(prefs::kArcSignedIn));
   EXPECT_FALSE(arc_session_manager()->arc_start_time().is_null());
   EXPECT_FALSE(arc_session_manager()->IsPlaystoreLaunchRequestedForTesting());
+
+  // Emulate successful provisioning.
   arc_session_manager()->OnProvisioningFinished(ProvisioningResult::SUCCESS);
   EXPECT_TRUE(prefs->GetBoolean(prefs::kArcSignedIn));
   EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
   EXPECT_TRUE(arc_session_manager()->IsSessionRunning());
   EXPECT_TRUE(arc_session_manager()->sign_in_start_time().is_null());
   EXPECT_TRUE(arc_session_manager()->IsPlaystoreLaunchRequestedForTesting());
+}
+
+TEST_F(ArcSessionManagerTest, Provisioning_Restart) {
+  // Set up the situation that provisioning is successfully done in the
+  // previous session.
+  PrefService* const prefs = profile()->GetPrefs();
+  prefs->SetBoolean(prefs::kArcTermsAccepted, true);
+  prefs->SetBoolean(prefs::kArcSignedIn, true);
+
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->RequestEnable();
 
   // Second start, no fetching code is expected.
-  arc_session_manager()->Shutdown();
-  EXPECT_EQ(ArcSessionManager::State::NOT_INITIALIZED,
-            arc_session_manager()->state());
-  EXPECT_TRUE(arc_session_manager()->IsSessionStopped());
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
-  EXPECT_TRUE(prefs->GetBoolean(prefs::kArcSignedIn));
   EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
   EXPECT_TRUE(arc_session_manager()->IsSessionRunning());
 
@@ -388,75 +403,26 @@
   arc_session_manager()->Shutdown();
 }
 
-TEST_F(ArcSessionManagerTest, DisabledForDeviceLocalAccount) {
-  PrefService* const prefs = profile()->GetPrefs();
-  EXPECT_FALSE(prefs->GetBoolean(prefs::kArcSignedIn));
-  prefs->SetBoolean(prefs::kArcEnabled, true);
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
-  arc_session_manager()->StartArc();
-  EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
-
-  // Create device local account and set it as active.
-  const std::string email = "device-local-account@fake-email.com";
-  TestingProfile::Builder profile_builder;
-  profile_builder.SetProfileName(email);
-  std::unique_ptr<TestingProfile> device_local_profile(profile_builder.Build());
-  const AccountId account_id(AccountId::FromUserEmail(email));
-  GetFakeUserManager()->AddPublicAccountUser(account_id);
-
-  // Remove |profile_| to set the device local account be the primary account.
-  GetFakeUserManager()->RemoveUserFromList(
-      multi_user_util::GetAccountIdFromProfile(profile()));
-  GetFakeUserManager()->LoginUser(account_id);
-
-  // Check that user without GAIA account can't use ARC.
-  device_local_profile->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
-  arc_session_manager()->OnPrimaryUserProfilePrepared(
-      device_local_profile.get());
-  EXPECT_EQ(ArcSessionManager::State::NOT_INITIALIZED,
-            arc_session_manager()->state());
-
-  // Correctly stop service.
-  arc_session_manager()->Shutdown();
-}
-
-TEST_F(ArcSessionManagerTest, DisabledForNonPrimaryProfile) {
-  profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
-  arc_session_manager()->StartArc();
-  EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
-
-  // Create a second profile and set it as the active profile.
-  const std::string email = "test@example.com";
-  TestingProfile::Builder profile_builder;
-  profile_builder.SetProfileName(email);
-  std::unique_ptr<TestingProfile> second_profile(profile_builder.Build());
-  const AccountId account_id(AccountId::FromUserEmail(email));
-  GetFakeUserManager()->AddUser(account_id);
-  GetFakeUserManager()->SwitchActiveUser(account_id);
-  second_profile->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
-
-  // Check that non-primary user can't use ARC.
-  EXPECT_FALSE(chromeos::ProfileHelper::IsPrimaryProfile(second_profile.get()));
-  EXPECT_FALSE(ArcAppListPrefs::Get(second_profile.get()));
-
-  arc_session_manager()->Shutdown();
-}
-
-TEST_F(ArcSessionManagerTest, RemoveDataFolder) {
-  profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, false);
-
-  // Starting session manager with prefs::kArcEnabled off does not automatically
-  // remove Android's data folder.
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
-  EXPECT_FALSE(
+TEST_F(ArcSessionManagerTest, RemoveDataDir) {
+  // Emulate the situation where the initial Google Play Store enabled
+  // preference is false for managed user, i.e., data dir is being removed at
+  // beginning.
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->RemoveArcData();
+  EXPECT_TRUE(
       profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested));
-  EXPECT_EQ(ArcSessionManager::State::STOPPED,
+  EXPECT_EQ(ArcSessionManager::State::REMOVING_DATA_DIR,
             arc_session_manager()->state());
+
   // Enable ARC. Data is removed asyncronously. At this moment session manager
   // should be in REMOVING_DATA_DIR state.
-  profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
-  // Data should still not be removed.
+  arc_session_manager()->RequestEnable();
+  EXPECT_TRUE(
+      profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested));
+  EXPECT_EQ(ArcSessionManager::State::REMOVING_DATA_DIR,
+            arc_session_manager()->state());
+  // Wait until data is removed.
+  base::RunLoop().RunUntilIdle();
   EXPECT_FALSE(
       profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested));
   EXPECT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
@@ -474,39 +440,40 @@
   // Request should persist.
   ASSERT_TRUE(
       profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested));
+}
 
-  // Emulate next sign-in. Data should be removed first and ARC started after.
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
+TEST_F(ArcSessionManagerTest, RemoveDataDir_Restart) {
+  // Emulate second sign-in. Data should be removed first and ARC started after.
+  PrefService* const prefs = profile()->GetPrefs();
+  prefs->SetBoolean(prefs::kArcDataRemoveRequested, true);
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->RequestEnable();
   EXPECT_TRUE(
       profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested));
-
   ASSERT_TRUE(
       WaitForDataRemoved(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE));
-
   EXPECT_FALSE(
       profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested));
 
-  arc_session_manager()->StartArc();
-  EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
-
   arc_session_manager()->Shutdown();
 }
 
-TEST_F(ArcSessionManagerTest, RemoveDataFolder_Managed) {
+TEST_F(ArcSessionManagerTest, RemoveDataDir_Managed) {
   // Set ARC to be managed and disabled.
   profile()->GetTestingPrefService()->SetManagedPref(prefs::kArcEnabled,
                                                      new base::Value(false));
 
   // Starting session manager with prefs::kArcEnabled off in a managed profile
   // does automatically remove Android's data folder.
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->StartPreferenceHandler();
   EXPECT_TRUE(
       profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested));
 }
 
 TEST_F(ArcSessionManagerTest, IgnoreSecondErrorReporting) {
-  profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->RequestEnable();
   arc_session_manager()->StartArc();
   EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
 
@@ -557,11 +524,12 @@
     prefs->SetManagedPref(prefs::kArcLocationServiceEnabled,
                           location_service_pref_value().DeepCopy());
   }
-
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
   EXPECT_TRUE(arc::IsArcPlayStoreEnabledForProfile(profile()));
   EXPECT_TRUE(arc::IsArcPlayStoreEnabledPreferenceManagedForProfile(profile()));
 
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->RequestEnable();
+
   // Terms of Service are skipped if both ArcBackupRestoreEnabled and
   // ArcLocationServiceEnabled are managed.
   const bool expected_terms_skipping = backup_restore_pref_value().is_bool() &&
@@ -622,8 +590,8 @@
 };
 
 TEST_F(ArcSessionManagerKioskTest, AuthFailure) {
-  profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
-  arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
+  arc_session_manager()->SetProfile(profile());
+  arc_session_manager()->RequestEnable();
   EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
 
   // Replace chrome::AttemptUserExit() for testing.
@@ -709,7 +677,8 @@
           prefs::kArcEnabled, new base::FundamentalValue(true));
     }
 
-    arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
+    arc_session_manager()->SetProfile(profile());
+    arc_session_manager()->StartPreferenceHandler();
   }
 
   void TearDown() override {
@@ -756,9 +725,9 @@
   }
 
   void Show() override {
-    // To match ArcTermsOfServiceScreenHandler logic where prefs::kArcEnabled is
-    // set to true on showing UI.
-    profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
+    // To match ArcTermsOfServiceScreenHandler logic where Google Play Store
+    // enabled preferencee is set to true on showing UI.
+    SetArcPlayStoreEnabledForProfile(profile(), true);
   }
 
   void Hide() override {}
diff --git a/chrome/browser/chromeos/locale_change_guard.cc b/chrome/browser/chromeos/locale_change_guard.cc
index e3eeecf..2446aad4 100644
--- a/chrome/browser/chromeos/locale_change_guard.cc
+++ b/chrome/browser/chromeos/locale_change_guard.cc
@@ -6,6 +6,7 @@
 
 #include <algorithm>
 
+#include "ash/public/interfaces/constants.mojom.h"
 #include "base/bind.h"
 #include "base/macros.h"
 #include "base/strings/utf_string_conversions.h"
@@ -15,7 +16,6 @@
 #include "chrome/browser/chromeos/settings/device_settings_service.h"
 #include "chrome/browser/lifetime/application_lifetime.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_commands.h"
 #include "chrome/common/pref_names.h"
@@ -72,8 +72,7 @@
   if (!connector)
     return;
 
-  connector->BindInterface(ash_util::GetAshServiceName(),
-                           &notification_controller_);
+  connector->BindInterface(ash::mojom::kServiceName, &notification_controller_);
 }
 
 void LocaleChangeGuard::RevertLocaleChange() {
diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc b/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc
index d3194b7..0fcb1ba 100644
--- a/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc
+++ b/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc
@@ -34,8 +34,10 @@
 #include "chrome/browser/chromeos/login/users/default_user_image/default_user_images.h"
 #include "chrome/browser/chromeos/login/users/mock_user_manager.h"
 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
+#include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.h"
 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_util.h"
+#include "chrome/browser/chromeos/policy/device_policy_builder.h"
 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
 #include "chrome/browser/chromeos/policy/user_policy_manager_factory_chromeos.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -52,6 +54,7 @@
 #include "chromeos/dbus/dbus_thread_manager.h"
 #include "chromeos/dbus/fake_session_manager_client.h"
 #include "chromeos/dbus/session_manager_client.h"
+#include "components/ownership/mock_owner_key_util.h"
 #include "components/policy/core/common/cloud/cloud_policy_core.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
 #include "components/policy/core/common/cloud/policy_builder.h"
@@ -135,13 +138,6 @@
 
   // LoginManagerTest overrides:
   void SetUpInProcessBrowserTestFixture() override {
-    // Set up fake install attributes.
-    std::unique_ptr<chromeos::StubInstallAttributes> attributes =
-        base::MakeUnique<chromeos::StubInstallAttributes>();
-    attributes->SetEnterprise("fake-domain", "fake-id");
-    policy::BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting(
-        attributes.release());
-
     LoginManagerTest::SetUpInProcessBrowserTestFixture();
 
     ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_));
@@ -583,13 +579,26 @@
                                    public policy::CloudPolicyStore::Observer {
  protected:
   UserImageManagerPolicyTest()
-      : fake_session_manager_client_(new chromeos::FakeSessionManagerClient) {
-  }
+      : owner_key_util_(new ownership::MockOwnerKeyUtil()),
+        fake_session_manager_client_(new chromeos::FakeSessionManagerClient) {}
 
   // UserImageManagerTest overrides:
   void SetUpInProcessBrowserTestFixture() override {
+    device_policy_.Build();
+    OwnerSettingsServiceChromeOSFactory::GetInstance()
+        ->SetOwnerKeyUtilForTesting(owner_key_util_);
+    owner_key_util_->SetPublicKeyFromPrivateKey(
+        *device_policy_.GetSigningKey());
+    fake_session_manager_client_->set_device_policy(device_policy_.GetBlob());
     DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient(
         std::unique_ptr<SessionManagerClient>(fake_session_manager_client_));
+
+    // Set up fake install attributes.
+    std::unique_ptr<chromeos::StubInstallAttributes> attributes =
+        base::MakeUnique<chromeos::StubInstallAttributes>();
+    attributes->SetEnterprise("fake-domain", "fake-id");
+    policy::BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting(
+        attributes.release());
     UserImageManagerTest::SetUpInProcessBrowserTestFixture();
   }
 
@@ -648,6 +657,8 @@
   }
 
   policy::UserPolicyBuilder user_policy_;
+  policy::DevicePolicyBuilder device_policy_;
+  scoped_refptr<ownership::MockOwnerKeyUtil> owner_key_util_;
   FakeSessionManagerClient* fake_session_manager_client_;
 
   std::unique_ptr<gfx::ImageSkia> policy_image_;
diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc
index cd1566b..ef070f7 100644
--- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc
+++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc
@@ -9,6 +9,7 @@
 #include "ash/common/ash_constants.h"
 #include "ash/common/wallpaper/wallpaper_controller.h"
 #include "ash/common/wm_shell.h"
+#include "ash/public/interfaces/constants.mojom.h"
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/command_line.h"
@@ -205,8 +206,7 @@
       return;
 
     ash::mojom::WallpaperControllerPtr wallpaper_controller;
-    connector->BindInterface(ash_util::GetAshServiceName(),
-                             &wallpaper_controller);
+    connector->BindInterface(ash::mojom::kServiceName, &wallpaper_controller);
     // TODO(crbug.com/655875): Optimize ash wallpaper transport; avoid sending
     // large bitmaps over Mojo; use shared memory like BitmapUploader, etc.
     wallpaper_controller->SetWallpaper(*image.bitmap(), layout);
@@ -888,7 +888,7 @@
   if (connection && connection->GetConnector()) {
     // Connect to the wallpaper controller interface in the ash service.
     ash::mojom::WallpaperControllerPtr wallpaper_controller_ptr;
-    connection->GetConnector()->BindInterface(ash_util::GetAshServiceName(),
+    connection->GetConnector()->BindInterface(ash::mojom::kServiceName,
                                               &wallpaper_controller_ptr);
     // Register this object as the wallpaper picker.
     wallpaper_controller_ptr->SetWallpaperPicker(
diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc
index ea0f0c4..17b8e64 100644
--- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc
+++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc
@@ -25,8 +25,10 @@
 #include "chrome/browser/chromeos/login/startup_utils.h"
 #include "chrome/browser/chromeos/login/ui/login_display_host.h"
 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
+#include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.h"
 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_util.h"
+#include "chrome/browser/chromeos/policy/device_policy_builder.h"
 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
 #include "chrome/browser/chromeos/policy/user_policy_manager_factory_chromeos.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -41,6 +43,7 @@
 #include "chromeos/dbus/dbus_thread_manager.h"
 #include "chromeos/dbus/fake_session_manager_client.h"
 #include "chromeos/dbus/session_manager_client.h"
+#include "components/ownership/mock_owner_key_util.h"
 #include "components/policy/core/common/cloud/cloud_policy_core.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
 #include "components/policy/core/common/cloud/cloud_policy_validator.h"
@@ -146,6 +149,7 @@
   WallpaperManagerPolicyTest()
       : LoginManagerTest(true),
         wallpaper_change_count_(0),
+        owner_key_util_(new ownership::MockOwnerKeyUtil()),
         fake_session_manager_client_(new FakeSessionManagerClient) {
     testUsers_.push_back(
         AccountId::FromUserEmail(LoginManagerTest::kEnterpriseUser1));
@@ -178,6 +182,15 @@
 
   // LoginManagerTest:
   void SetUpInProcessBrowserTestFixture() override {
+    device_policy_.Build();
+    OwnerSettingsServiceChromeOSFactory::GetInstance()
+        ->SetOwnerKeyUtilForTesting(owner_key_util_);
+    owner_key_util_->SetPublicKeyFromPrivateKey(
+        *device_policy_.GetSigningKey());
+    fake_session_manager_client_->set_device_policy(device_policy_.GetBlob());
+    DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient(
+        std::unique_ptr<SessionManagerClient>(fake_session_manager_client_));
+
     // Set up fake install attributes.
     std::unique_ptr<chromeos::StubInstallAttributes> attributes =
         base::MakeUnique<chromeos::StubInstallAttributes>();
@@ -185,9 +198,6 @@
     policy::BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting(
         attributes.release());
 
-    DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient(
-        std::unique_ptr<SessionManagerClient>(fake_session_manager_client_));
-
     LoginManagerTest::SetUpInProcessBrowserTestFixture();
     ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_));
   }
@@ -290,6 +300,8 @@
   std::unique_ptr<base::RunLoop> run_loop_;
   int wallpaper_change_count_;
   std::unique_ptr<policy::UserPolicyBuilder> user_policy_builders_[2];
+  policy::DevicePolicyBuilder device_policy_;
+  scoped_refptr<ownership::MockOwnerKeyUtil> owner_key_util_;
   FakeSessionManagerClient* fake_session_manager_client_;
   std::vector<AccountId> testUsers_;
 
diff --git a/chrome/browser/chromeos/policy/device_local_account_policy_provider.cc b/chrome/browser/chromeos/policy/device_local_account_policy_provider.cc
index a13065e..47d39b49 100644
--- a/chrome/browser/chromeos/policy/device_local_account_policy_provider.cc
+++ b/chrome/browser/chromeos/policy/device_local_account_policy_provider.cc
@@ -45,7 +45,8 @@
 std::unique_ptr<DeviceLocalAccountPolicyProvider>
 DeviceLocalAccountPolicyProvider::Create(
     const std::string& user_id,
-    DeviceLocalAccountPolicyService* device_local_account_policy_service) {
+    DeviceLocalAccountPolicyService* device_local_account_policy_service,
+    bool force_immediate_load) {
   DeviceLocalAccount::Type type;
   if (!device_local_account_policy_service ||
       !IsDeviceLocalAccountUser(user_id, &type)) {
@@ -89,6 +90,9 @@
       new DeviceLocalAccountPolicyProvider(user_id,
                                            device_local_account_policy_service,
                                            std::move(chrome_policy_overrides)));
+  // In case of restore-after-restart broker should already be initialized.
+  if (force_immediate_load && provider->GetBroker())
+    provider->GetBroker()->LoadImmediately();
   return provider;
 }
 
diff --git a/chrome/browser/chromeos/policy/device_local_account_policy_provider.h b/chrome/browser/chromeos/policy/device_local_account_policy_provider.h
index 2f12cbfa..c50c1fac 100644
--- a/chrome/browser/chromeos/policy/device_local_account_policy_provider.h
+++ b/chrome/browser/chromeos/policy/device_local_account_policy_provider.h
@@ -39,9 +39,12 @@
   // Factory function to create and initialize a provider for |user_id|. Returns
   // NULL if |user_id| is not a device-local account or user policy isn't
   // applicable for user_id's user type.
+  // If |force_immediate_load| is true then policy is loaded synchronously on
+  // creation.
   static std::unique_ptr<DeviceLocalAccountPolicyProvider> Create(
       const std::string& user_id,
-      DeviceLocalAccountPolicyService* service);
+      DeviceLocalAccountPolicyService* service,
+      bool force_immediate_load);
 
   // ConfigurationPolicyProvider:
   bool IsInitializationComplete(PolicyDomain domain) const override;
diff --git a/chrome/browser/chromeos/policy/device_local_account_policy_service.cc b/chrome/browser/chromeos/policy/device_local_account_policy_service.cc
index b130bb19..26c8188 100644
--- a/chrome/browser/chromeos/policy/device_local_account_policy_service.cc
+++ b/chrome/browser/chromeos/policy/device_local_account_policy_service.cc
@@ -164,6 +164,10 @@
   store_->Load();
 }
 
+void DeviceLocalAccountPolicyBroker::LoadImmediately() {
+  store_->LoadImmediately();
+}
+
 bool DeviceLocalAccountPolicyBroker::HasInvalidatorForTest() const {
   return invalidator_ != nullptr;
 }
diff --git a/chrome/browser/chromeos/policy/device_local_account_policy_service.h b/chrome/browser/chromeos/policy/device_local_account_policy_service.h
index 173bd7e..f0f05127 100644
--- a/chrome/browser/chromeos/policy/device_local_account_policy_service.h
+++ b/chrome/browser/chromeos/policy/device_local_account_policy_service.h
@@ -69,9 +69,12 @@
       AffiliatedInvalidationServiceProvider* invalidation_service_provider);
   ~DeviceLocalAccountPolicyBroker() override;
 
-  // Initialize the broker, loading its |store_|.
+  // Initialize the broker, start asynchronous load of its |store_|.
   void Initialize();
 
+  // Loads store synchronously.
+  void LoadImmediately();
+
   // For the difference between |account_id| and |user_id|, see the
   // documentation of DeviceLocalAccount.
   const std::string& account_id() const { return account_id_; }
diff --git a/chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc b/chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc
index c6523f96..f7049ef 100644
--- a/chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc
+++ b/chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc
@@ -797,7 +797,7 @@
   provider_ = DeviceLocalAccountPolicyProvider::Create(
       GenerateDeviceLocalAccountUserId(kAccount1,
                                        DeviceLocalAccount::TYPE_PUBLIC_SESSION),
-      service_.get());
+      service_.get(), false /*force_immediate_load*/);
 }
 
 void DeviceLocalAccountPolicyProviderTest::SetUp() {
@@ -989,4 +989,52 @@
   Mock::VerifyAndClearExpectations(&provider_observer_);
 }
 
+class DeviceLocalAccountPolicyProviderLoadImmediateTest
+    : public DeviceLocalAccountPolicyServiceTestBase {
+ protected:
+  DeviceLocalAccountPolicyProviderLoadImmediateTest();
+
+  void SetUp() override;
+  void TearDown() override;
+
+  std::unique_ptr<DeviceLocalAccountPolicyProvider> provider_;
+  MockDeviceLocalAccountPolicyServiceObserver service_observer_;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyProviderLoadImmediateTest);
+};
+
+DeviceLocalAccountPolicyProviderLoadImmediateTest::
+    DeviceLocalAccountPolicyProviderLoadImmediateTest() {
+  CreatePolicyService();
+}
+
+void DeviceLocalAccountPolicyProviderLoadImmediateTest::SetUp() {
+  service_->AddObserver(&service_observer_);
+  DeviceLocalAccountPolicyServiceTestBase::SetUp();
+}
+
+void DeviceLocalAccountPolicyProviderLoadImmediateTest::TearDown() {
+  service_->RemoveObserver(&service_observer_);
+  provider_->Shutdown();
+  provider_.reset();
+  DeviceLocalAccountPolicyServiceTestBase::TearDown();
+}
+
+TEST_F(DeviceLocalAccountPolicyProviderLoadImmediateTest, Initialization) {
+  InstallDeviceLocalAccountPolicy(kAccount1);
+  AddDeviceLocalAccountToPolicy(kAccount1);
+  EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_))
+      .Times(AtLeast(2));
+  EXPECT_CALL(service_observer_, OnDeviceLocalAccountsChanged());
+  InstallDevicePolicy();
+
+  provider_ = DeviceLocalAccountPolicyProvider::Create(
+      GenerateDeviceLocalAccountUserId(kAccount1,
+                                       DeviceLocalAccount::TYPE_PUBLIC_SESSION),
+      service_.get(), true /*force_immediate_load*/);
+
+  EXPECT_TRUE(provider_->IsInitializationComplete(POLICY_DOMAIN_CHROME));
+}
+
 }  // namespace policy
diff --git a/chrome/browser/chromeos/policy/device_local_account_policy_store.cc b/chrome/browser/chromeos/policy/device_local_account_policy_store.cc
index 013bc40..31f42df 100644
--- a/chrome/browser/chromeos/policy/device_local_account_policy_store.cc
+++ b/chrome/browser/chromeos/policy/device_local_account_policy_store.cc
@@ -40,7 +40,26 @@
   session_manager_client_->RetrieveDeviceLocalAccountPolicy(
       account_id_,
       base::Bind(&DeviceLocalAccountPolicyStore::ValidateLoadedPolicyBlob,
-                 weak_factory_.GetWeakPtr()));
+                 weak_factory_.GetWeakPtr(), true /*validate_in_background*/));
+}
+
+void DeviceLocalAccountPolicyStore::LoadImmediately() {
+  // This blocking D-Bus call is in the startup path and will block the UI
+  // thread. This only happens when the Profile is created synchronously, which
+  // on Chrome OS happens whenever the browser is restarted into the same
+  // session, that is when the browser crashes, or right after signin if
+  // the user has flags configured in about:flags.
+  // However, on those paths we must load policy synchronously so that the
+  // Profile initialization never sees unmanaged prefs, which would lead to
+  // data loss. http://crbug.com/263061
+
+  // Cancel all running async loads.
+  weak_factory_.InvalidateWeakPtrs();
+
+  const std::string policy_blob =
+      session_manager_client_->BlockingRetrieveDeviceLocalAccountPolicy(
+          account_id_);
+  ValidateLoadedPolicyBlob(false /*validate_in_background*/, policy_blob);
 }
 
 void DeviceLocalAccountPolicyStore::Store(
@@ -48,11 +67,13 @@
   weak_factory_.InvalidateWeakPtrs();
   CheckKeyAndValidate(
       true, base::MakeUnique<em::PolicyFetchResponse>(policy),
+      true /*validate_in_background*/,
       base::Bind(&DeviceLocalAccountPolicyStore::StoreValidatedPolicy,
                  weak_factory_.GetWeakPtr()));
 }
 
 void DeviceLocalAccountPolicyStore::ValidateLoadedPolicyBlob(
+    bool validate_in_background,
     const std::string& policy_blob) {
   if (policy_blob.empty()) {
     status_ = CloudPolicyStore::STATUS_LOAD_ERROR;
@@ -62,7 +83,7 @@
         new em::PolicyFetchResponse());
     if (policy->ParseFromString(policy_blob)) {
       CheckKeyAndValidate(
-          false, std::move(policy),
+          false, std::move(policy), validate_in_background,
           base::Bind(&DeviceLocalAccountPolicyStore::UpdatePolicy,
                      weak_factory_.GetWeakPtr()));
     } else {
@@ -127,19 +148,26 @@
 void DeviceLocalAccountPolicyStore::CheckKeyAndValidate(
     bool valid_timestamp_required,
     std::unique_ptr<em::PolicyFetchResponse> policy,
+    bool validate_in_background,
     const ValidateCompletionCallback& callback) {
-  device_settings_service_->GetOwnershipStatusAsync(
-      base::Bind(&DeviceLocalAccountPolicyStore::Validate,
-                 weak_factory_.GetWeakPtr(),
-                 valid_timestamp_required,
-                 base::Passed(&policy),
-                 callback));
+  if (validate_in_background) {
+    device_settings_service_->GetOwnershipStatusAsync(
+        base::Bind(&DeviceLocalAccountPolicyStore::Validate,
+                   weak_factory_.GetWeakPtr(), valid_timestamp_required,
+                   base::Passed(&policy), callback, validate_in_background));
+  } else {
+    chromeos::DeviceSettingsService::OwnershipStatus ownership_status =
+        device_settings_service_->GetOwnershipStatus();
+    Validate(valid_timestamp_required, std::move(policy), callback,
+             validate_in_background, ownership_status);
+  }
 }
 
 void DeviceLocalAccountPolicyStore::Validate(
     bool valid_timestamp_required,
     std::unique_ptr<em::PolicyFetchResponse> policy_response,
     const ValidateCompletionCallback& callback,
+    bool validate_in_background,
     chromeos::DeviceSettingsService::OwnershipStatus ownership_status) {
   DCHECK_NE(chromeos::DeviceSettingsService::OWNERSHIP_UNKNOWN,
             ownership_status);
@@ -182,7 +210,17 @@
 
   validator->ValidatePayload();
   validator->ValidateSignature(key->as_string());
-  validator.release()->StartValidation(base::Bind(callback, key->as_string()));
+
+  if (validate_in_background) {
+    // The Validator will delete itself once validation is
+    // complete.
+    validator.release()->StartValidation(
+        base::Bind(callback, key->as_string()));
+  } else {
+    validator->RunValidation();
+
+    UpdatePolicy(key->as_string(), validator.get());
+  }
 }
 
 }  // namespace policy
diff --git a/chrome/browser/chromeos/policy/device_local_account_policy_store.h b/chrome/browser/chromeos/policy/device_local_account_policy_store.h
index d2af391b..b8945f8a 100644
--- a/chrome/browser/chromeos/policy/device_local_account_policy_store.h
+++ b/chrome/browser/chromeos/policy/device_local_account_policy_store.h
@@ -48,6 +48,9 @@
   void Store(const enterprise_management::PolicyFetchResponse& policy) override;
   void Load() override;
 
+  // Loads the policy synchronously on the current thread.
+  void LoadImmediately();
+
  private:
   // The callback invoked once policy validation is complete. Passed are the
   // used public key and the validator.
@@ -56,7 +59,8 @@
 
   // Called back by |session_manager_client_| after policy retrieval. Checks for
   // success and triggers policy validation.
-  void ValidateLoadedPolicyBlob(const std::string& policy_blob);
+  void ValidateLoadedPolicyBlob(bool validate_in_background,
+                                const std::string& policy_blob);
 
   // Updates state after validation and notifies observers.
   void UpdatePolicy(const std::string& signature_validation_public_key,
@@ -75,6 +79,7 @@
   void CheckKeyAndValidate(
       bool valid_timestamp_required,
       std::unique_ptr<enterprise_management::PolicyFetchResponse> policy,
+      bool validate_in_background,
       const ValidateCompletionCallback& callback);
 
   // Triggers policy validation.
@@ -82,6 +87,7 @@
       bool valid_timestamp_required,
       std::unique_ptr<enterprise_management::PolicyFetchResponse> policy,
       const ValidateCompletionCallback& callback,
+      bool validate_in_background,
       chromeos::DeviceSettingsService::OwnershipStatus ownership_status);
 
   const std::string account_id_;
diff --git a/chrome/browser/chromeos/printing/cups_print_job.cc b/chrome/browser/chromeos/printing/cups_print_job.cc
index 40a961b..834bbf8 100644
--- a/chrome/browser/chromeos/printing/cups_print_job.cc
+++ b/chrome/browser/chromeos/printing/cups_print_job.cc
@@ -29,4 +29,10 @@
   return base::StringPrintf("%s%d", printer_id.c_str(), job_id);
 }
 
+bool CupsPrintJob::IsJobFinished() {
+  return state_ == CupsPrintJob::State::STATE_CANCELLED ||
+         state_ == CupsPrintJob::State::STATE_ERROR ||
+         state_ == CupsPrintJob::State::STATE_DOCUMENT_DONE;
+}
+
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/printing/cups_print_job.h b/chrome/browser/chromeos/printing/cups_print_job.h
index 6df6cae..09be00d 100644
--- a/chrome/browser/chromeos/printing/cups_print_job.h
+++ b/chrome/browser/chromeos/printing/cups_print_job.h
@@ -62,6 +62,9 @@
   void set_state(State state) { state_ = state; }
   void set_error_code(ErrorCode error_code) { error_code_ = error_code; }
 
+  // Returns true if |state_| represents a terminal state.
+  bool IsJobFinished();
+
  private:
   Printer printer_;
   int job_id_;
diff --git a/chrome/browser/chromeos/printing/cups_print_job_manager_impl.cc b/chrome/browser/chromeos/printing/cups_print_job_manager_impl.cc
index 468adc4..d333cb9 100644
--- a/chrome/browser/chromeos/printing/cups_print_job_manager_impl.cc
+++ b/chrome/browser/chromeos/printing/cups_print_job_manager_impl.cc
@@ -61,14 +61,6 @@
   return cpj::STATE_NONE;
 }
 
-// Returns true if |state| represents a terminal state.
-bool JobFinished(chromeos::CupsPrintJob::State state) {
-  using chromeos::CupsPrintJob;
-  return state == CupsPrintJob::State::STATE_CANCELLED ||
-         state == CupsPrintJob::State::STATE_ERROR ||
-         state == CupsPrintJob::State::STATE_DOCUMENT_DONE;
-}
-
 }  // namespace
 
 namespace chromeos {
@@ -197,7 +189,7 @@
       JobStateUpdated(print_job, ConvertState(job.state));
 
       // Cleanup completed jobs.
-      if (JobFinished(print_job->state())) {
+      if (print_job->IsJobFinished()) {
         jobs_.erase(entry);
       } else {
         active_jobs.push_back(key);
diff --git a/chrome/browser/chromeos/printing/cups_print_job_notification.cc b/chrome/browser/chromeos/printing/cups_print_job_notification.cc
index f3b4119..25eba10 100644
--- a/chrome/browser/chromeos/printing/cups_print_job_notification.cc
+++ b/chrome/browser/chromeos/printing/cups_print_job_notification.cc
@@ -14,6 +14,7 @@
 #include "chrome/browser/chromeos/printing/cups_print_job.h"
 #include "chrome/browser/chromeos/printing/cups_print_job_manager.h"
 #include "chrome/browser/chromeos/printing/cups_print_job_manager_factory.h"
+#include "chrome/browser/chromeos/printing/cups_print_job_notification_manager.h"
 #include "chrome/browser/notifications/notification_ui_manager.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/grit/generated_resources.h"
@@ -59,9 +60,12 @@
 
 }  // namespace
 
-CupsPrintJobNotification::CupsPrintJobNotification(CupsPrintJob* print_job,
-                                                   Profile* profile)
-    : notification_id_(print_job->GetUniqueId()),
+CupsPrintJobNotification::CupsPrintJobNotification(
+    CupsPrintJobNotificationManager* manager,
+    CupsPrintJob* print_job,
+    Profile* profile)
+    : notification_manager_(manager),
+      notification_id_(print_job->GetUniqueId()),
       print_job_(print_job),
       delegate_(new CupsPrintJobNotificationDelegate(this)),
       profile_(profile) {
@@ -95,6 +99,10 @@
   closed_in_middle_ = true;
   g_browser_process->message_center()->RemoveNotification(GetNotificationId(),
                                                           true /* by_user */);
+  if (!print_job_ ||
+      print_job_->state() == CupsPrintJob::State::STATE_SUSPENDED) {
+    notification_manager_->OnPrintJobNotificationRemoved(this);
+  }
 }
 
 void CupsPrintJobNotification::ClickOnNotificationButton(int button_index) {
@@ -114,6 +122,7 @@
         g_browser_process->notification_ui_manager()->CancelById(
             GetNotificationId(), profile_id);
         cancelled_by_user_ = true;
+        notification_manager_->OnPrintJobNotificationRemoved(this);
       }
       break;
     case ButtonCommand::PAUSE_PRINTING:
@@ -160,6 +169,11 @@
         GetNotificationId(), profile_id);
     g_browser_process->notification_ui_manager()->Add(*notification_, profile_);
   }
+
+  // |print_job_| will be deleted by CupsPrintJobManager if the job is finished
+  // and we are not supposed to get any notification update after that.
+  if (print_job_->IsJobFinished())
+    print_job_ = nullptr;
 }
 
 void CupsPrintJobNotification::UpdateNotificationTitle() {
diff --git a/chrome/browser/chromeos/printing/cups_print_job_notification.h b/chrome/browser/chromeos/printing/cups_print_job_notification.h
index c554863..dfdf1c7 100644
--- a/chrome/browser/chromeos/printing/cups_print_job_notification.h
+++ b/chrome/browser/chromeos/printing/cups_print_job_notification.h
@@ -17,6 +17,7 @@
 namespace chromeos {
 
 class CupsPrintJob;
+class CupsPrintJobNotificationManager;
 
 // CupsPrintJobNotification is used to update the notification of a print job
 // according to its state and respond to the user's action.
@@ -29,7 +30,9 @@
     GET_HELP,
   };
 
-  CupsPrintJobNotification(CupsPrintJob* print_job, Profile* profile);
+  CupsPrintJobNotification(CupsPrintJobNotificationManager* manager,
+                           CupsPrintJob* print_job,
+                           Profile* profile);
   ~CupsPrintJobNotification();
 
   void OnPrintJobStatusUpdated();
@@ -52,6 +55,7 @@
   base::string16 GetButtonLabel(ButtonCommand button) const;
   gfx::Image GetButtonIcon(ButtonCommand button) const;
 
+  CupsPrintJobNotificationManager* notification_manager_;
   std::unique_ptr<Notification> notification_;
   std::string notification_id_;
   CupsPrintJob* print_job_;
diff --git a/chrome/browser/chromeos/printing/cups_print_job_notification_manager.cc b/chrome/browser/chromeos/printing/cups_print_job_notification_manager.cc
index b7a5c7a..937c93e 100644
--- a/chrome/browser/chromeos/printing/cups_print_job_notification_manager.cc
+++ b/chrome/browser/chromeos/printing/cups_print_job_notification_manager.cc
@@ -27,7 +27,7 @@
   if (base::ContainsKey(notification_map_, job))
     return;
   notification_map_[job] =
-      base::MakeUnique<CupsPrintJobNotification>(job, profile_);
+      base::MakeUnique<CupsPrintJobNotification>(this, job, profile_);
 }
 
 void CupsPrintJobNotificationManager::OnPrintJobStarted(CupsPrintJob* job) {
@@ -58,6 +58,20 @@
   UpdateNotification(job);
 }
 
+void CupsPrintJobNotificationManager::OnPrintJobNotificationRemoved(
+    CupsPrintJobNotification* notification) {
+  // |job| might be a nullptr at this moment, so we iterate through
+  // |notification_map_| to find |notification|.
+  auto it = notification_map_.begin();
+  for (; it != notification_map_.end(); it++) {
+    if (it->second.get() == notification)
+      break;
+  }
+
+  if (it != notification_map_.end())
+    notification_map_.erase(it);
+}
+
 void CupsPrintJobNotificationManager::UpdateNotification(CupsPrintJob* job) {
   DCHECK(base::ContainsKey(notification_map_, job));
   notification_map_[job]->OnPrintJobStatusUpdated();
diff --git a/chrome/browser/chromeos/printing/cups_print_job_notification_manager.h b/chrome/browser/chromeos/printing/cups_print_job_notification_manager.h
index 1f7c304..c5f0cd64 100644
--- a/chrome/browser/chromeos/printing/cups_print_job_notification_manager.h
+++ b/chrome/browser/chromeos/printing/cups_print_job_notification_manager.h
@@ -39,6 +39,8 @@
   void OnPrintJobError(CupsPrintJob* job) override;
   void OnPrintJobCancelled(CupsPrintJob* job) override;
 
+  void OnPrintJobNotificationRemoved(CupsPrintJobNotification* notification);
+
  private:
   void UpdateNotification(CupsPrintJob* job);
 
diff --git a/chrome/browser/chromeos/printing/fake_cups_print_job_manager.cc b/chrome/browser/chromeos/printing/fake_cups_print_job_manager.cc
index eddc16a..860933a 100644
--- a/chrome/browser/chromeos/printing/fake_cups_print_job_manager.cc
+++ b/chrome/browser/chromeos/printing/fake_cups_print_job_manager.cc
@@ -122,10 +122,13 @@
       }
       break;
     case CupsPrintJob::State::STATE_DOCUMENT_DONE:
-      // Only for testing
-      job->set_state(CupsPrintJob::State::STATE_ERROR);
-      job->set_error_code(CupsPrintJob::ErrorCode::UNKNOWN_ERROR);
-      NotifyJobError(job);
+      // Delete |job| since it's completed.
+      for (auto iter = print_jobs_.begin(); iter != print_jobs_.end(); ++iter) {
+        if (iter->get() == job) {
+          print_jobs_.erase(iter);
+          break;
+        }
+      }
       break;
     default:
       break;
diff --git a/chrome/browser/chromeos/settings/device_settings_service.cc b/chrome/browser/chromeos/settings/device_settings_service.cc
index 73cd756..d95ffbd 100644
--- a/chrome/browser/chromeos/settings/device_settings_service.cc
+++ b/chrome/browser/chromeos/settings/device_settings_service.cc
@@ -129,13 +129,27 @@
   EnqueueLoad(false);
 }
 
+void DeviceSettingsService::LoadImmediately() {
+  bool request_key_load = true;
+  bool cloud_validations = true;
+  if (device_mode_ == policy::DEVICE_MODE_ENTERPRISE_AD) {
+    request_key_load = false;
+    cloud_validations = false;
+  }
+  std::unique_ptr<SessionManagerOperation> operation(new LoadSettingsOperation(
+      request_key_load, cloud_validations, true /*force_immediate_load*/,
+      base::Bind(&DeviceSettingsService::HandleCompletedOperation,
+                 weak_factory_.GetWeakPtr(), base::Closure())));
+  operation->Start(session_manager_client_, owner_key_util_, public_key_);
+}
+
 void DeviceSettingsService::Store(
     std::unique_ptr<em::PolicyFetchResponse> policy,
     const base::Closure& callback) {
   // On Active Directory managed devices policy is written only by authpolicyd.
   CHECK(device_mode_ != policy::DEVICE_MODE_ENTERPRISE_AD);
   Enqueue(linked_ptr<SessionManagerOperation>(new StoreSettingsOperation(
-      base::Bind(&DeviceSettingsService::HandleCompletedOperation,
+      base::Bind(&DeviceSettingsService::HandleCompletedAsyncOperation,
                  weak_factory_.GetWeakPtr(), callback),
       std::move(policy))));
 }
@@ -233,8 +247,8 @@
     cloud_validations = false;
   }
   linked_ptr<SessionManagerOperation> operation(new LoadSettingsOperation(
-      request_key_load, cloud_validations,
-      base::Bind(&DeviceSettingsService::HandleCompletedOperation,
+      request_key_load, cloud_validations, false /*force_immediate_load*/,
+      base::Bind(&DeviceSettingsService::HandleCompletedAsyncOperation,
                  weak_factory_.GetWeakPtr(), base::Closure())));
   Enqueue(operation);
 }
@@ -254,12 +268,23 @@
   }
 }
 
-void DeviceSettingsService::HandleCompletedOperation(
+void DeviceSettingsService::HandleCompletedAsyncOperation(
     const base::Closure& callback,
     SessionManagerOperation* operation,
     Status status) {
   DCHECK_EQ(operation, pending_operations_.front().get());
+  HandleCompletedOperation(callback, operation, status);
+  // Only remove the pending operation here, so new operations triggered by
+  // any of the callbacks above are queued up properly.
+  pending_operations_.pop_front();
 
+  StartNextOperation();
+}
+
+void DeviceSettingsService::HandleCompletedOperation(
+    const base::Closure& callback,
+    SessionManagerOperation* operation,
+    Status status) {
   store_status_ = status;
   if (status == STORE_SUCCESS) {
     policy_data_ = std::move(operation->policy_data());
@@ -298,12 +323,6 @@
   // filter self-triggered updates.
   if (!callback.is_null())
     callback.Run();
-
-  // Only remove the pending operation here, so new operations triggered by any
-  // of the callbacks above are queued up properly.
-  pending_operations_.pop_front();
-
-  StartNextOperation();
 }
 
 void DeviceSettingsService::HandleError(Status status,
diff --git a/chrome/browser/chromeos/settings/device_settings_service.h b/chrome/browser/chromeos/settings/device_settings_service.h
index 8a7e68b..efb3d027 100644
--- a/chrome/browser/chromeos/settings/device_settings_service.h
+++ b/chrome/browser/chromeos/settings/device_settings_service.h
@@ -132,6 +132,9 @@
   // load the device settings.
   void Load();
 
+  // Synchronously pulls the public key and loads the device settings.
+  void LoadImmediately();
+
   // Stores a policy blob to session_manager. The result of the operation is
   // reported through |callback|. If successful, the updated device settings are
   // present in policy_data() and device_settings() when the callback runs.
@@ -196,11 +199,16 @@
   void StartNextOperation();
 
   // Updates status, policy data and owner key from a finished operation.
-  // Starts the next pending operation if available.
   void HandleCompletedOperation(const base::Closure& callback,
                                 SessionManagerOperation* operation,
                                 Status status);
 
+  // Same as HandleCompletedOperation(), but also starts the next pending
+  // operation if available.
+  void HandleCompletedAsyncOperation(const base::Closure& callback,
+                                     SessionManagerOperation* operation,
+                                     Status status);
+
   // Updates status and invokes the callback immediately.
   void HandleError(Status status, const base::Closure& callback);
 
diff --git a/chrome/browser/chromeos/settings/device_settings_test_helper.cc b/chrome/browser/chromeos/settings/device_settings_test_helper.cc
index e81af3b..5084eff 100644
--- a/chrome/browser/chromeos/settings/device_settings_test_helper.cc
+++ b/chrome/browser/chromeos/settings/device_settings_test_helper.cc
@@ -97,6 +97,10 @@
   device_policy_.retrieve_callbacks_.push_back(callback);
 }
 
+std::string DeviceSettingsTestHelper::BlockingRetrieveDevicePolicy() {
+  return device_policy_.policy_blob_;
+}
+
 void DeviceSettingsTestHelper::RetrieveDeviceLocalAccountPolicy(
     const std::string& account_id,
     const RetrievePolicyCallback& callback) {
@@ -104,6 +108,11 @@
       callback);
 }
 
+std::string DeviceSettingsTestHelper::BlockingRetrieveDeviceLocalAccountPolicy(
+    const std::string& account_id) {
+  return "";
+}
+
 void DeviceSettingsTestHelper::StoreDevicePolicy(
     const std::string& policy_blob,
     const StorePolicyCallback& callback) {
diff --git a/chrome/browser/chromeos/settings/device_settings_test_helper.h b/chrome/browser/chromeos/settings/device_settings_test_helper.h
index d0fbe1d..ce64e1a6 100644
--- a/chrome/browser/chromeos/settings/device_settings_test_helper.h
+++ b/chrome/browser/chromeos/settings/device_settings_test_helper.h
@@ -82,9 +82,12 @@
 
   // SessionManagerClient:
   void RetrieveDevicePolicy(const RetrievePolicyCallback& callback) override;
+  std::string BlockingRetrieveDevicePolicy() override;
   void RetrieveDeviceLocalAccountPolicy(
       const std::string& account_id,
       const RetrievePolicyCallback& callback) override;
+  std::string BlockingRetrieveDeviceLocalAccountPolicy(
+      const std::string& account_id) override;
   void StoreDevicePolicy(const std::string& policy_blob,
                          const StorePolicyCallback& callback) override;
   void StoreDeviceLocalAccountPolicy(
diff --git a/chrome/browser/chromeos/settings/session_manager_operation.cc b/chrome/browser/chromeos/settings/session_manager_operation.cc
index bfe8316..fd9b3ba 100644
--- a/chrome/browser/chromeos/settings/session_manager_operation.cc
+++ b/chrome/browser/chromeos/settings/session_manager_operation.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/files/file_path.h"
+#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/stl_util.h"
 #include "base/task_runner_util.h"
@@ -70,6 +71,13 @@
   }
 }
 
+void SessionManagerOperation::LoadImmediately() {
+  StorePublicKey(
+      base::Bind(&SessionManagerOperation::BlockingRetrieveDeviceSettings,
+                 weak_factory_.GetWeakPtr()),
+      LoadPublicKey(owner_key_util_, public_key_));
+}
+
 void SessionManagerOperation::ReportResult(
     DeviceSettingsService::Status status) {
   callback_.Run(this, status);
@@ -132,6 +140,11 @@
                  weak_factory_.GetWeakPtr()));
 }
 
+void SessionManagerOperation::BlockingRetrieveDeviceSettings() {
+  ValidateDeviceSettings(
+      session_manager_client()->BlockingRetrieveDevicePolicy());
+}
+
 void SessionManagerOperation::ValidateDeviceSettings(
     const std::string& policy_blob) {
   std::unique_ptr<em::PolicyFetchResponse> policy(
@@ -154,9 +167,10 @@
           pool->GetSequenceToken(),
           base::SequencedWorkerPool::SKIP_ON_SHUTDOWN);
 
-  policy::DeviceCloudPolicyValidator* validator =
-      policy::DeviceCloudPolicyValidator::Create(std::move(policy),
-                                                 background_task_runner);
+  std::unique_ptr<policy::DeviceCloudPolicyValidator> validator =
+      base::WrapUnique<policy::DeviceCloudPolicyValidator>(
+          policy::DeviceCloudPolicyValidator::Create(std::move(policy),
+                                                     background_task_runner));
 
   if (cloud_validations_) {
     // Policy auto-generated by session manager doesn't include a timestamp, so
@@ -191,9 +205,15 @@
 
   validator->ValidatePolicyType(policy::dm_protocol::kChromeDevicePolicyType);
   validator->ValidatePayload();
-  validator->StartValidation(
-      base::Bind(&SessionManagerOperation::ReportValidatorStatus,
-                 weak_factory_.GetWeakPtr()));
+  if (force_immediate_load_) {
+    validator->RunValidation();
+    ReportValidatorStatus(validator.get());
+  } else {
+    // The Validator will delete itself once validation is complete.
+    validator.release()->StartValidation(
+        base::Bind(&SessionManagerOperation::ReportValidatorStatus,
+                   weak_factory_.GetWeakPtr()));
+  }
 }
 
 void SessionManagerOperation::ReportValidatorStatus(
@@ -219,16 +239,21 @@
 
 LoadSettingsOperation::LoadSettingsOperation(bool force_key_load,
                                              bool cloud_validations,
+                                             bool force_immediate_load,
                                              const Callback& callback)
     : SessionManagerOperation(callback) {
   force_key_load_ = force_key_load;
   cloud_validations_ = cloud_validations;
+  force_immediate_load_ = force_immediate_load;
 }
 
 LoadSettingsOperation::~LoadSettingsOperation() {}
 
 void LoadSettingsOperation::Run() {
-  StartLoading();
+  if (force_immediate_load_)
+    LoadImmediately();
+  else
+    StartLoading();
 }
 
 StoreSettingsOperation::StoreSettingsOperation(
diff --git a/chrome/browser/chromeos/settings/session_manager_operation.h b/chrome/browser/chromeos/settings/session_manager_operation.h
index 7c558ea7..3b67b31 100644
--- a/chrome/browser/chromeos/settings/session_manager_operation.h
+++ b/chrome/browser/chromeos/settings/session_manager_operation.h
@@ -74,6 +74,9 @@
   // Starts a load operation.
   void StartLoading();
 
+  // Synchronous load operation.
+  void LoadImmediately();
+
   // Reports the result status of the operation. Once this gets called, the
   // operation should not perform further processing or trigger callbacks.
   void ReportResult(DeviceSettingsService::Status status);
@@ -89,6 +92,8 @@
 
   bool force_key_load_ = false;
 
+  bool force_immediate_load_ = false;
+
  private:
   // Loads the owner key from disk. Must be run on a thread that can do I/O.
   static scoped_refptr<ownership::PublicKey> LoadPublicKey(
@@ -102,6 +107,9 @@
   // Triggers a device settings load.
   void RetrieveDeviceSettings();
 
+  // Same as RetrieveDeviceSettings, but loads synchronously.
+  void BlockingRetrieveDeviceSettings();
+
   // Validates device settings after retrieval from session_manager.
   void ValidateDeviceSettings(const std::string& policy_blob);
 
@@ -131,8 +139,11 @@
  public:
   // Creates a new load operation.  If |cloud_validations| is true, signature
   // validation and other cloud-specific checks are performed.
+  // If |force_immediate_load| is true, load happens synchronously on Run()
+  // call.
   LoadSettingsOperation(bool force_key_load,
                         bool cloud_validations,
+                        bool force_immediate_load,
                         const Callback& callback);
   ~LoadSettingsOperation() override;
 
diff --git a/chrome/browser/chromeos/settings/session_manager_operation_unittest.cc b/chrome/browser/chromeos/settings/session_manager_operation_unittest.cc
index 5aa0afd..13cd4884 100644
--- a/chrome/browser/chromeos/settings/session_manager_operation_unittest.cc
+++ b/chrome/browser/chromeos/settings/session_manager_operation_unittest.cc
@@ -108,6 +108,7 @@
 TEST_F(SessionManagerOperationTest, LoadNoPolicyNoKey) {
   LoadSettingsOperation op(
       false /* force_key_load */, true /* cloud_validations */,
+      false /* force_immediate_load */,
       base::Bind(&SessionManagerOperationTest::OnOperationCompleted,
                  base::Unretained(this)));
 
@@ -128,6 +129,7 @@
   owner_key_util_->SetPublicKeyFromPrivateKey(*policy_.GetSigningKey());
   LoadSettingsOperation op(
       false /* force_key_load */, true /* cloud_validations */,
+      false /* force_immediate_load */,
       base::Bind(&SessionManagerOperationTest::OnOperationCompleted,
                  base::Unretained(this)));
 
@@ -146,6 +148,30 @@
   device_settings_test_helper_.set_policy_blob(policy_.GetBlob());
   LoadSettingsOperation op(
       false /* force_key_load */, true /* cloud_validations */,
+      false /* force_immediate_load */,
+      base::Bind(&SessionManagerOperationTest::OnOperationCompleted,
+                 base::Unretained(this)));
+
+  EXPECT_CALL(*this,
+              OnOperationCompleted(&op, DeviceSettingsService::STORE_SUCCESS));
+  op.Start(&device_settings_test_helper_, owner_key_util_, NULL);
+  device_settings_test_helper_.Flush();
+  Mock::VerifyAndClearExpectations(this);
+
+  ASSERT_TRUE(op.policy_data().get());
+  EXPECT_EQ(policy_.policy_data().SerializeAsString(),
+            op.policy_data()->SerializeAsString());
+  ASSERT_TRUE(op.device_settings().get());
+  EXPECT_EQ(policy_.payload().SerializeAsString(),
+            op.device_settings()->SerializeAsString());
+}
+
+TEST_F(SessionManagerOperationTest, LoadImmediately) {
+  owner_key_util_->SetPublicKeyFromPrivateKey(*policy_.GetSigningKey());
+  device_settings_test_helper_.set_policy_blob(policy_.GetBlob());
+  LoadSettingsOperation op(
+      false /* force_key_load */, true /* cloud_validations */,
+      true /* force_immediate_load */,
       base::Bind(&SessionManagerOperationTest::OnOperationCompleted,
                  base::Unretained(this)));
 
@@ -169,6 +195,7 @@
   device_settings_test_helper_.set_policy_blob(policy_.GetBlob());
   LoadSettingsOperation op(
       false /* force_key_load */, true /* cloud_validations */,
+      false /* force_immediate_load */,
       base::Bind(&SessionManagerOperationTest::OnOperationCompleted,
                  base::Unretained(this)));
 
diff --git a/chrome/browser/chromeos/settings/shutdown_policy_forwarder.cc b/chrome/browser/chromeos/settings/shutdown_policy_forwarder.cc
index f48aae0..70228895 100644
--- a/chrome/browser/chromeos/settings/shutdown_policy_forwarder.cc
+++ b/chrome/browser/chromeos/settings/shutdown_policy_forwarder.cc
@@ -4,9 +4,9 @@
 
 #include "chrome/browser/chromeos/settings/shutdown_policy_forwarder.h"
 
+#include "ash/public/interfaces/constants.mojom.h"
 #include "ash/public/interfaces/shutdown.mojom.h"
 #include "chrome/browser/chromeos/settings/cros_settings.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "content/public/common/service_manager_connection.h"
 #include "services/service_manager/public/cpp/connector.h"
 
@@ -25,7 +25,7 @@
   ash::mojom::ShutdownControllerPtr shutdown_controller;
   content::ServiceManagerConnection::GetForProcess()
       ->GetConnector()
-      ->BindInterface(ash_util::GetAshServiceName(), &shutdown_controller);
+      ->BindInterface(ash::mojom::kServiceName, &shutdown_controller);
 
   // Forward the setting to ash.
   shutdown_controller->SetRebootOnShutdown(reboot_on_shutdown);
diff --git a/chrome/browser/component_updater/chrome_component_updater_configurator_unittest.cc b/chrome/browser/component_updater/chrome_component_updater_configurator_unittest.cc
index 8208865..725c794 100644
--- a/chrome/browser/component_updater/chrome_component_updater_configurator_unittest.cc
+++ b/chrome/browser/component_updater/chrome_component_updater_configurator_unittest.cc
@@ -62,7 +62,7 @@
                                                            pref_service()));
 
   CHECK_EQ(10, config->InitialDelay());
-  CHECK_EQ(6 * 60 * 60, config->NextCheckDelay());
+  CHECK_EQ(5 * 60 * 60, config->NextCheckDelay());
   CHECK_EQ(1, config->StepDelay());
   CHECK_EQ(2, config->OnDemandDelay());
   CHECK_EQ(10, config->UpdateDelay());
diff --git a/chrome/browser/policy/profile_policy_connector.cc b/chrome/browser/policy/profile_policy_connector.cc
index 98414a6..a595184 100644
--- a/chrome/browser/policy/profile_policy_connector.cc
+++ b/chrome/browser/policy/profile_policy_connector.cc
@@ -60,7 +60,8 @@
     const user_manager::User* user,
     SchemaRegistry* schema_registry,
     ConfigurationPolicyProvider* configuration_policy_provider,
-    const CloudPolicyStore* policy_store) {
+    const CloudPolicyStore* policy_store,
+    bool force_immediate_load) {
   configuration_policy_provider_ = configuration_policy_provider;
   policy_store_ = policy_store;
 
@@ -108,7 +109,7 @@
     // the user supplied is not a device-local account user.
     special_user_policy_provider_ = DeviceLocalAccountPolicyProvider::Create(
         user->GetAccountId().GetUserEmail(),
-        connector->GetDeviceLocalAccountPolicyService());
+        connector->GetDeviceLocalAccountPolicyService(), force_immediate_load);
   }
   if (special_user_policy_provider_) {
     special_user_policy_provider_->Init(schema_registry);
diff --git a/chrome/browser/policy/profile_policy_connector.h b/chrome/browser/policy/profile_policy_connector.h
index c42b81f6..f0efc439 100644
--- a/chrome/browser/policy/profile_policy_connector.h
+++ b/chrome/browser/policy/profile_policy_connector.h
@@ -33,10 +33,13 @@
   // |user| is only used in Chrome OS builds and should be set to nullptr
   // otherwise.  |configuration_policy_provider| and |policy_store| are nullptr
   // for non-regular users.
+  // If |force_immediate_load| is true, DeviceLocalAccountPolicy is loaded
+  // synchronously.
   void Init(const user_manager::User* user,
             SchemaRegistry* schema_registry,
             ConfigurationPolicyProvider* configuration_policy_provider,
-            const CloudPolicyStore* policy_store);
+            const CloudPolicyStore* policy_store,
+            bool force_immediate_load);
 
   void InitForTesting(std::unique_ptr<PolicyService> service);
   void OverrideIsManagedForTesting(bool is_managed);
diff --git a/chrome/browser/policy/profile_policy_connector_factory.cc b/chrome/browser/policy/profile_policy_connector_factory.cc
index 87e4631c..149c79ab 100644
--- a/chrome/browser/policy/profile_policy_connector_factory.cc
+++ b/chrome/browser/policy/profile_policy_connector_factory.cc
@@ -151,7 +151,8 @@
       new ProfilePolicyConnector());
 
   if (test_providers_.empty()) {
-    connector->Init(user, schema_registry, policy_provider, policy_store);
+    connector->Init(user, schema_registry, policy_provider, policy_store,
+                    force_immediate_load);
   } else {
     PolicyServiceImpl::Providers providers;
     providers.push_back(test_providers_.front());
diff --git a/chrome/browser/policy/profile_policy_connector_unittest.cc b/chrome/browser/policy/profile_policy_connector_unittest.cc
index cc56a8e..7ebe705 100644
--- a/chrome/browser/policy/profile_policy_connector_unittest.cc
+++ b/chrome/browser/policy/profile_policy_connector_unittest.cc
@@ -64,7 +64,7 @@
 TEST_F(ProfilePolicyConnectorTest, IsManagedForManagedUsers) {
   ProfilePolicyConnector connector;
   connector.Init(nullptr /* user */, &schema_registry_,
-                 cloud_policy_manager_.get(), &cloud_policy_store_);
+                 cloud_policy_manager_.get(), &cloud_policy_store_, false);
   EXPECT_FALSE(connector.IsManaged());
   EXPECT_EQ(connector.GetManagementDomain(), "");
 
@@ -82,7 +82,7 @@
 TEST_F(ProfilePolicyConnectorTest, IsProfilePolicy) {
   ProfilePolicyConnector connector;
   connector.Init(nullptr /* user */, &schema_registry_,
-                 cloud_policy_manager_.get(), &cloud_policy_store_);
+                 cloud_policy_manager_.get(), &cloud_policy_store_, false);
 
   // No policy is set initially.
   EXPECT_FALSE(connector.IsProfilePolicy(autofill::prefs::kAutofillEnabled));
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
index 2f493aab..03d8ff3 100644
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -123,6 +123,7 @@
 #include "chrome/browser/chromeos/locale_change_guard.h"
 #include "chrome/browser/chromeos/preferences.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chrome/browser/chromeos/settings/device_settings_service.h"
 #include "components/user_manager/user_manager.h"
 #endif
 
@@ -439,6 +440,8 @@
       policy::SchemaRegistryServiceFactory::CreateForContext(
           this, connector->GetChromeSchema(), connector->GetSchemaRegistry());
 #if defined(OS_CHROMEOS)
+  if (force_immediate_policy_load)
+    chromeos::DeviceSettingsService::Get()->LoadImmediately();
   configuration_policy_provider_ =
       policy::UserPolicyManagerFactoryChromeOS::CreateForProfile(
           this, force_immediate_policy_load, sequenced_task_runner);
diff --git a/chrome/browser/resources/vr_shell/vr_shell_ui.css b/chrome/browser/resources/vr_shell/vr_shell_ui.css
index f07344f2..b81bdca 100644
--- a/chrome/browser/resources/vr_shell/vr_shell_ui.css
+++ b/chrome/browser/resources/vr_shell/vr_shell_ui.css
@@ -99,6 +99,25 @@
   white-space: nowrap;
 }
 
+.rect-button {
+  background-color: #eee;
+  border-radius: 6px;
+  color: black;
+  font-size: 20px;
+  line-height: 96px;
+  opacity: 0.8;
+  overflow: hidden;
+  text-align: center;
+  text-transform: uppercase;
+  vertical-align: middle;
+  white-space: nowrap;
+  width: 300px;
+}
+
+.rect-button:hover {
+  opacity: 1;
+}
+
 #back-button,
 #forward-button {
   background-image: url(../../../../ui/webui/resources/images/vr_back.svg);
@@ -150,7 +169,7 @@
   overflow-x: scroll;
   overflow-y: hidden;
   white-space: nowrap;
-  width: 1500px;
+  width: 1000px;
 }
 
 /* The tab clip element's width will be programmatically set to the total width
diff --git a/chrome/browser/resources/vr_shell/vr_shell_ui.html b/chrome/browser/resources/vr_shell/vr_shell_ui.html
index 40c6879..8cc6fc8 100644
--- a/chrome/browser/resources/vr_shell/vr_shell_ui.html
+++ b/chrome/browser/resources/vr_shell/vr_shell_ui.html
@@ -82,6 +82,12 @@
       <div id="tab-clip">
       </div>
     </div>
+    <div id="new-tab" class="ui-element rect-button">
+      $i18n{newTab}
+    </div>
+    <div id="new-incognito-tab" class="ui-element rect-button">
+      $i18n{newIncognitoTab}
+    </div>
   </div>
 </body>
 
diff --git a/chrome/browser/resources/vr_shell/vr_shell_ui.js b/chrome/browser/resources/vr_shell/vr_shell_ui.js
index 7117e1f..e212e33 100644
--- a/chrome/browser/resources/vr_shell/vr_shell_ui.js
+++ b/chrome/browser/resources/vr_shell/vr_shell_ui.js
@@ -735,6 +735,9 @@
       /** @const */ var DOM_TAB_TEMPLATE_SELECTOR = '#tab-template';
       /** @const */ var DOM_TAB_CONTAINER_SELECTOR = '#tab-container';
       /** @const */ var DOM_TAB_CLIP_SELECTOR = '#tab-clip';
+      /** @const */ var DOM_NEW_TAB_BUTTON_SELECTOR = '#new-tab';
+      /** @const */ var DOM_NEW_INCOGNITO_TAB_BUTTON_SELECTOR =
+          '#new-incognito-tab';
       /** @const */ var TAB_CONTAINER_Y_OFFSET = 0.4;
       /** @const */ var TAB_CONTAINER_Z_OFFSET = -1;
 
@@ -752,6 +755,32 @@
       positionUpdate.setVisible(false);
       ui.updateElement(this.tabContainerElement.uiElementId, positionUpdate);
 
+      // Add the new tab buttons to the native scene.
+      let buttonConfigs = [
+        {
+          selector: DOM_NEW_TAB_BUTTON_SELECTOR, x: -0.2, incognito: false
+        }, {
+          selector: DOM_NEW_INCOGNITO_TAB_BUTTON_SELECTOR,
+          x: 0.2,
+          incognito: true
+        }
+      ];
+      this.buttonElements = [];
+      buttonConfigs.forEach(function(buttonConfig) {
+        let buttonElement = new DomUiElement(buttonConfig.selector);
+        let update = new api.UiElementUpdate();
+        update.setTranslation(buttonConfig.x, 0.1, 0);
+        update.setVisible(false);
+        update.setAnchoring(api.XAnchoring.XNONE, api.YAnchoring.YTOP);
+        update.setParentId(this.tabContainerElement.uiElementId);
+        ui.updateElement(buttonElement.uiElementId, update);
+        buttonElement.domElement.addEventListener('click', function() {
+          api.doAction(
+              api.Action.OPEN_NEW_TAB, {'incognito': buttonConfig.incognito});
+        });
+        this.buttonElements.push(buttonElement);
+      }, this);
+
       // Calculate the width of one tab so that we can properly set the clip
       // element's width.
       this.domTabWidth = this.domTabTemplate.offsetWidth;
@@ -821,9 +850,14 @@
     }
 
     setEnabled(enabled) {
-      let visibilityUpdate = new api.UiElementUpdate();
-      visibilityUpdate.setVisible(enabled);
-      ui.updateElement(this.tabContainerElement.uiElementId, visibilityUpdate);
+      let update = new api.UiElementUpdate();
+      update.setVisible(enabled);
+      ui.updateElement(this.tabContainerElement.uiElementId, update);
+      this.buttonElements.forEach(function(buttonElement) {
+        let update = new api.UiElementUpdate();
+        update.setVisible(enabled);
+        ui.updateElement(buttonElement.uiElementId, update);
+      }, this);
     }
   };
 
diff --git a/chrome/browser/resources/vr_shell/vr_shell_ui_api.js b/chrome/browser/resources/vr_shell/vr_shell_ui_api.js
index 5090f826..d65ba0f7 100644
--- a/chrome/browser/resources/vr_shell/vr_shell_ui_api.js
+++ b/chrome/browser/resources/vr_shell/vr_shell_ui_api.js
@@ -70,7 +70,8 @@
   'LOAD_URL': 6,
   'OMNIBOX_CONTENT': 7,
   'SET_CONTENT_PAUSED': 8,
-  'SHOW_TAB': 9
+  'SHOW_TAB': 9,
+  'OPEN_NEW_TAB': 10
 };
 
 /**
diff --git a/chrome/browser/sync/test/integration/sync_arc_package_helper.cc b/chrome/browser/sync/test/integration/sync_arc_package_helper.cc
index 3626338a..0dcb2cf 100644
--- a/chrome/browser/sync/test/integration/sync_arc_package_helper.cc
+++ b/chrome/browser/sync/test/integration/sync_arc_package_helper.cc
@@ -153,7 +153,8 @@
   ArcSessionManager* arc_session_manager = ArcSessionManager::Get();
   DCHECK(arc_session_manager);
   ArcSessionManager::DisableUIForTesting();
-  arc_session_manager->OnPrimaryUserProfilePrepared(profile);
+  arc_session_manager->SetProfile(profile);
+  arc_session_manager->StartPreferenceHandler();
   arc::SetArcPlayStoreEnabledForProfile(profile, true);
 
   ArcAppListPrefs* arc_app_list_prefs = ArcAppListPrefs::Get(profile);
diff --git a/chrome/browser/ui/app_list/arc/arc_app_test.cc b/chrome/browser/ui/app_list/arc/arc_app_test.cc
index f568ac0..d2b90b3 100644
--- a/chrome/browser/ui/app_list/arc/arc_app_test.cc
+++ b/chrome/browser/ui/app_list/arc/arc_app_test.cc
@@ -86,7 +86,8 @@
           base::Bind(arc::FakeArcSession::Create)));
   DCHECK(arc::ArcSessionManager::Get());
   arc::ArcSessionManager::DisableUIForTesting();
-  arc_session_manager_->OnPrimaryUserProfilePrepared(profile_);
+  arc_session_manager_->SetProfile(profile_);
+  arc_session_manager_->StartPreferenceHandler();
 
   arc_app_list_pref_ = ArcAppListPrefs::Get(profile_);
   DCHECK(arc_app_list_pref_);
diff --git a/chrome/browser/ui/ash/app_list/app_list_presenter_service.cc b/chrome/browser/ui/ash/app_list/app_list_presenter_service.cc
index 1a706fb..15cd30c 100644
--- a/chrome/browser/ui/ash/app_list/app_list_presenter_service.cc
+++ b/chrome/browser/ui/ash/app_list/app_list_presenter_service.cc
@@ -4,8 +4,8 @@
 
 #include "chrome/browser/ui/ash/app_list/app_list_presenter_service.h"
 
+#include "ash/public/interfaces/constants.mojom.h"
 #include "chrome/browser/ui/ash/app_list/app_list_service_ash.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "content/public/common/service_manager_connection.h"
 #include "services/service_manager/public/cpp/connector.h"
 #include "ui/app_list/presenter/app_list_presenter_impl.h"
@@ -16,7 +16,7 @@
   if (connection && connection->GetConnector()) {
     // Connect to the app list interface in the ash service.
     app_list::mojom::AppListPtr app_list_ptr;
-    connection->GetConnector()->BindInterface(ash_util::GetAshServiceName(),
+    connection->GetConnector()->BindInterface(ash::mojom::kServiceName,
                                               &app_list_ptr);
     // Register this object as the app list presenter.
     app_list_ptr->SetAppListPresenter(binding_.CreateInterfacePtrAndBind());
diff --git a/chrome/browser/ui/ash/ash_util.cc b/chrome/browser/ui/ash/ash_util.cc
index 320929259..7188b70 100644
--- a/chrome/browser/ui/ash/ash_util.cc
+++ b/chrome/browser/ui/ash/ash_util.cc
@@ -49,11 +49,6 @@
 
 }  // namespace
 
-// TODO(rockot): Remove this.
-const char* GetAshServiceName() {
-  return "ash";
-}
-
 std::unique_ptr<service_manager::Service> CreateEmbeddedAshService(
     const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) {
   return base::MakeUnique<EmbeddedAshService>(task_runner);
diff --git a/chrome/browser/ui/ash/ash_util.h b/chrome/browser/ui/ash/ash_util.h
index 8f90544..f267bc60 100644
--- a/chrome/browser/ui/ash/ash_util.h
+++ b/chrome/browser/ui/ash/ash_util.h
@@ -20,10 +20,6 @@
 
 namespace ash_util {
 
-// Returns the name of the ash service depending on whether the browser is
-// running in classic ash or mash.
-const char* GetAshServiceName();
-
 // Creates an in-process Service instance of which can host common ash
 // interfaces.
 std::unique_ptr<service_manager::Service> CreateEmbeddedAshService(
diff --git a/chrome/browser/ui/ash/cast_config_client_media_router.cc b/chrome/browser/ui/ash/cast_config_client_media_router.cc
index d9ba5ac5..9074423 100644
--- a/chrome/browser/ui/ash/cast_config_client_media_router.cc
+++ b/chrome/browser/ui/ash/cast_config_client_media_router.cc
@@ -8,6 +8,7 @@
 #include <utility>
 #include <vector>
 
+#include "ash/public/interfaces/constants.mojom.h"
 #include "base/macros.h"
 #include "base/memory/ptr_util.h"
 #include "base/optional.h"
@@ -21,7 +22,6 @@
 #include "chrome/browser/media/router/media_sinks_observer.h"
 #include "chrome/browser/media/router/media_source_helper.h"
 #include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "chrome/common/url_constants.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_source.h"
@@ -151,7 +151,7 @@
   // client.
   content::ServiceManagerConnection::GetForProcess()
       ->GetConnector()
-      ->BindInterface(ash_util::GetAshServiceName(), &cast_config_);
+      ->BindInterface(ash::mojom::kServiceName, &cast_config_);
 
   // Register this object as the client interface implementation.
   ash::mojom::CastConfigClientAssociatedPtrInfo ptr_info;
diff --git a/chrome/browser/ui/ash/chrome_new_window_client.cc b/chrome/browser/ui/ash/chrome_new_window_client.cc
index c85da53..90f4deed 100644
--- a/chrome/browser/ui/ash/chrome_new_window_client.cc
+++ b/chrome/browser/ui/ash/chrome_new_window_client.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/ui/ash/chrome_new_window_client.h"
 
 #include "ash/content/keyboard_overlay/keyboard_overlay_view.h"
+#include "ash/public/interfaces/constants.mojom.h"
 #include "base/macros.h"
 #include "chrome/browser/chromeos/file_manager/app_id.h"
 #include "chrome/browser/extensions/api/terminal/terminal_extension_helper.h"
@@ -12,7 +13,6 @@
 #include "chrome/browser/extensions/extension_util.h"
 #include "chrome/browser/profiles/profile_manager.h"
 #include "chrome/browser/sessions/tab_restore_service_factory.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "chrome/browser/ui/ash/chrome_shell_delegate.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_commands.h"
@@ -61,8 +61,7 @@
 ChromeNewWindowClient::ChromeNewWindowClient() : binding_(this) {
   service_manager::Connector* connector =
       content::ServiceManagerConnection::GetForProcess()->GetConnector();
-  connector->BindInterface(ash_util::GetAshServiceName(),
-                           &new_window_controller_);
+  connector->BindInterface(ash::mojom::kServiceName, &new_window_controller_);
 
   // Register this object as the client interface implementation.
   ash::mojom::NewWindowClientAssociatedPtrInfo ptr_info;
diff --git a/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc b/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc
index 1907b01..aea36ace 100644
--- a/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc
+++ b/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc
@@ -244,8 +244,10 @@
   }
 
   void StartInstance() {
-    if (arc_session_manager()->profile() != profile())
-      arc_session_manager()->OnPrimaryUserProfilePrepared(profile());
+    if (arc_session_manager()->profile() != profile()) {
+      arc_session_manager()->SetProfile(profile());
+      arc_session_manager()->StartPreferenceHandler();
+    }
     app_instance_observer()->OnInstanceReady();
   }
 
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
index 52692bc..b938dc88 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
@@ -4,13 +4,13 @@
 
 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
 
+#include "ash/public/interfaces/constants.mojom.h"
 #include "base/auto_reset.h"
 #include "base/memory/ptr_util.h"
 #include "chrome/browser/chromeos/arc/arc_util.h"
 #include "chrome/browser/extensions/extension_app_icon_loader.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/app_list/arc/arc_app_icon_loader.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "chrome/browser/ui/ash/chrome_launcher_prefs.h"
 #include "chrome/browser/ui/ash/launcher/launcher_controller_helper.h"
 #include "content/public/common/service_manager_connection.h"
@@ -57,7 +57,7 @@
   if (!connector)
     return false;
 
-  connector->BindInterface(ash_util::GetAshServiceName(), &shelf_controller_);
+  connector->BindInterface(ash::mojom::kServiceName, &shelf_controller_);
   return true;
 }
 
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc
index fd07a7d..2bbd82e 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc
@@ -2136,15 +2136,9 @@
   SendListOfArcApps();
   EXPECT_EQ("AppList, Chrome, App1, App2", GetPinnedAppStatus());
 
-  // Disable/Enable ARC should persist pin state.
+  // Opt-Out/Opt-In remove item from the shelf.
   launcher_controller_->PinAppWithID(arc_app_id);
   EXPECT_EQ("AppList, Chrome, App1, App2, Fake App 0", GetPinnedAppStatus());
-  arc::ArcSessionManager::Get()->Shutdown();
-  EXPECT_EQ("AppList, Chrome, App1, App2, Fake App 0", GetPinnedAppStatus());
-  arc::ArcSessionManager::Get()->OnPrimaryUserProfilePrepared(profile());
-  EXPECT_EQ("AppList, Chrome, App1, App2, Fake App 0", GetPinnedAppStatus());
-
-  // Opt-Out/Opt-In remove item from the shelf.
   EnableArc(false);
   EXPECT_EQ("AppList, Chrome, App1, App2", GetPinnedAppStatus());
   EnableArc(true);
diff --git a/chrome/browser/ui/ash/media_client.cc b/chrome/browser/ui/ash/media_client.cc
index 99ed587..a8affc52 100644
--- a/chrome/browser/ui/ash/media_client.cc
+++ b/chrome/browser/ui/ash/media_client.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/ui/ash/media_client.h"
 
+#include "ash/public/interfaces/constants.mojom.h"
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/message_loop/message_loop.h"
@@ -13,7 +14,6 @@
 #include "chrome/browser/chromeos/extensions/media_player_event_router.h"
 #include "chrome/browser/media/webrtc/media_stream_capture_indicator.h"
 #include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "chrome/browser/ui/ash/chrome_shell_content_state.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_list.h"
@@ -132,7 +132,7 @@
 
   service_manager::Connector* connector =
       content::ServiceManagerConnection::GetForProcess()->GetConnector();
-  connector->BindInterface(ash_util::GetAshServiceName(), &media_controller_);
+  connector->BindInterface(ash::mojom::kServiceName, &media_controller_);
 
   // Register this object as the client interface implementation.
   ash::mojom::MediaClientAssociatedPtrInfo ptr_info;
diff --git a/chrome/browser/ui/ash/session_controller_client.cc b/chrome/browser/ui/ash/session_controller_client.cc
index 76a8a48..bc659c8 100644
--- a/chrome/browser/ui/ash/session_controller_client.cc
+++ b/chrome/browser/ui/ash/session_controller_client.cc
@@ -8,13 +8,13 @@
 #include <utility>
 
 #include "ash/public/cpp/session_types.h"
+#include "ash/public/interfaces/constants.mojom.h"
 #include "base/bind.h"
 #include "base/logging.h"
 #include "base/strings/utf_string_conversions.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"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "chrome/browser/ui/ash/multi_user/user_switch_util.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/grit/theme_resources.h"
@@ -246,7 +246,7 @@
 void SessionControllerClient::ConnectToSessionControllerAndSetClient() {
   content::ServiceManagerConnection::GetForProcess()
       ->GetConnector()
-      ->BindInterface(ash_util::GetAshServiceName(), &session_controller_);
+      ->BindInterface(ash::mojom::kServiceName, &session_controller_);
 
   // Set as |session_controller_|'s client.
   session_controller_->SetClient(binding_.CreateInterfacePtrAndBind());
diff --git a/chrome/browser/ui/ash/system_tray_client.cc b/chrome/browser/ui/ash/system_tray_client.cc
index aec8fe2..1bbcbce 100644
--- a/chrome/browser/ui/ash/system_tray_client.cc
+++ b/chrome/browser/ui/ash/system_tray_client.cc
@@ -7,6 +7,7 @@
 #include "ash/common/login_status.h"
 #include "ash/common/wm_shell.h"
 #include "ash/public/cpp/shell_window_ids.h"
+#include "ash/public/interfaces/constants.mojom.h"
 #include "ash/shell.h"
 #include "base/feature_list.h"
 #include "base/logging.h"
@@ -86,7 +87,7 @@
 SystemTrayClient::SystemTrayClient() : binding_(this) {
   content::ServiceManagerConnection::GetForProcess()
       ->GetConnector()
-      ->BindInterface(ash_util::GetAshServiceName(), &system_tray_);
+      ->BindInterface(ash::mojom::kServiceName, &system_tray_);
   // Register this object as the client interface implementation.
   system_tray_->SetClient(binding_.CreateInterfacePtrAndBind());
 
diff --git a/chrome/browser/ui/ash/volume_controller.cc b/chrome/browser/ui/ash/volume_controller.cc
index ea9eda2..04dc8c8 100644
--- a/chrome/browser/ui/ash/volume_controller.cc
+++ b/chrome/browser/ui/ash/volume_controller.cc
@@ -5,9 +5,9 @@
 #include "chrome/browser/ui/ash/volume_controller.h"
 
 #include "ash/public/interfaces/accelerator_controller.mojom.h"
+#include "ash/public/interfaces/constants.mojom.h"
 #include "base/command_line.h"
 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "chrome/grit/browser_resources.h"
 #include "chromeos/audio/chromeos_sounds.h"
 #include "chromeos/audio/cras_audio_handler.h"
@@ -42,7 +42,7 @@
   service_manager::Connector* connector =
       content::ServiceManagerConnection::GetForProcess()->GetConnector();
   ash::mojom::AcceleratorControllerPtr accelerator_controller_ptr;
-  connector->BindInterface(ash_util::GetAshServiceName(),
+  connector->BindInterface(ash::mojom::kServiceName,
                            &accelerator_controller_ptr);
 
   // Register this object as the volume controller.
diff --git a/chrome/browser/ui/ash/vpn_list_forwarder.cc b/chrome/browser/ui/ash/vpn_list_forwarder.cc
index d0559ec..8a4e968 100644
--- a/chrome/browser/ui/ash/vpn_list_forwarder.cc
+++ b/chrome/browser/ui/ash/vpn_list_forwarder.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/ui/ash/vpn_list_forwarder.h"
 
+#include "ash/public/interfaces/constants.mojom.h"
 #include "ash/public/interfaces/vpn_list.mojom.h"
 #include "base/bind.h"
 #include "base/location.h"
@@ -12,7 +13,6 @@
 #include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_manager.h"
 #include "content/public/browser/notification_service.h"
@@ -46,7 +46,7 @@
   ash::mojom::VpnListPtr vpn_list;
   content::ServiceManagerConnection::GetForProcess()
       ->GetConnector()
-      ->BindInterface(ash_util::GetAshServiceName(), &vpn_list);
+      ->BindInterface(ash::mojom::kServiceName, &vpn_list);
   return vpn_list;
 }
 
diff --git a/chrome/browser/ui/views/apps/app_info_dialog/app_info_dialog_ash_unittest.cc b/chrome/browser/ui/views/apps/app_info_dialog/app_info_dialog_ash_unittest.cc
index 49efa1f..71208cbf 100644
--- a/chrome/browser/ui/views/apps/app_info_dialog/app_info_dialog_ash_unittest.cc
+++ b/chrome/browser/ui/views/apps/app_info_dialog/app_info_dialog_ash_unittest.cc
@@ -12,13 +12,6 @@
 #include "ui/views/widget/widget.h"
 #include "ui/views/window/dialog_delegate.h"
 
-#if defined(OS_CHROMEOS)
-#include "base/memory/ptr_util.h"
-#include "chrome/browser/chromeos/arc/arc_session_manager.h"
-#include "components/arc/arc_session_runner.h"
-#include "components/arc/test/fake_arc_session.h"
-#endif
-
 namespace {
 
 const char kTestExtensionId[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
@@ -33,14 +26,6 @@
   // Overridden from testing::Test:
   void SetUp() override {
     ash::test::AshTestBase::SetUp();
-#if defined(OS_CHROMEOS)
-    arc::ArcSessionManager::DisableUIForTesting();
-    arc_session_manager_ = base::MakeUnique<arc::ArcSessionManager>(
-        base::MakeUnique<arc::ArcSessionRunner>(
-            base::Bind(arc::FakeArcSession::Create)));
-    arc_session_manager_->OnPrimaryUserProfilePrepared(
-        extension_environment_.profile());
-#endif
     widget_ = views::DialogDelegate::CreateDialogWidget(
         new views::DialogDelegateView(), CurrentContext(), NULL);
     dialog_ = new AppInfoDialog(
@@ -52,10 +37,6 @@
 
   void TearDown() override {
     widget_->CloseNow();
-#if defined(OS_CHROMEOS)
-    if (arc_session_manager_)
-      arc_session_manager_->Shutdown();
-#endif
     ash::test::AshTestBase::TearDown();
   }
 
@@ -63,9 +44,6 @@
   extensions::TestExtensionEnvironment extension_environment_;
   views::Widget* widget_ = nullptr;
   AppInfoDialog* dialog_ = nullptr;  // Owned by |widget_|'s views hierarchy.
-#if defined(OS_CHROMEOS)
-  std::unique_ptr<arc::ArcSessionManager> arc_session_manager_;
-#endif
 
  private:
   DISALLOW_COPY_AND_ASSIGN(AppInfoDialogAshTest);
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
index 4427b04..6728002 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
@@ -12,6 +12,7 @@
 #include "ash/common/session/session_state_delegate.h"
 #include "ash/common/system/chromeos/devicetype_utils.h"
 #include "ash/common/wm_shell.h"
+#include "ash/public/interfaces/constants.mojom.h"
 #include "ash/shell.h"
 #include "ash/wm/lock_state_controller.h"
 #include "base/bind.h"
@@ -62,7 +63,6 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_metrics.h"
 #include "chrome/browser/signin/easy_unlock_service.h"
-#include "chrome/browser/ui/ash/ash_util.h"
 #include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h"
@@ -336,7 +336,7 @@
 
   content::ServiceManagerConnection::GetForProcess()
       ->GetConnector()
-      ->BindInterface(ash_util::GetAshServiceName(), &touch_view_manager_ptr_);
+      ->BindInterface(ash::mojom::kServiceName, &touch_view_manager_ptr_);
   touch_view_manager_ptr_->AddObserver(
       touch_view_binding_.CreateInterfacePtrAndBind());
 }
diff --git a/chrome/browser/ui/webui/vr_shell/vr_shell_ui_ui.cc b/chrome/browser/ui/webui/vr_shell/vr_shell_ui_ui.cc
index 5b5300eb..c5ba2c9 100644
--- a/chrome/browser/ui/webui/vr_shell/vr_shell_ui_ui.cc
+++ b/chrome/browser/ui/webui/vr_shell/vr_shell_ui_ui.cc
@@ -201,6 +201,9 @@
   source->AddLocalizedString("back", IDS_VR_SHELL_UI_BACK_BUTTON);
   source->AddLocalizedString("forward", IDS_VR_SHELL_UI_FORWARD_BUTTON);
   source->AddLocalizedString("reload", IDS_VR_SHELL_UI_RELOAD_BUTTON);
+  source->AddLocalizedString("newTab", IDS_VR_SHELL_NEW_TAB_BUTTON);
+  source->AddLocalizedString("newIncognitoTab",
+                             IDS_VR_SHELL_NEW_INCOGNITO_TAB_BUTTON);
 
   return source;
 }
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index c78404b..8f3088c 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -889,10 +889,6 @@
 // Enables Contextual Search.
 const char kEnableContextualSearch[] = "enable-contextual-search";
 
-// Enables Contextual Search UI integration with Contextual Cards data.
-const char kEnableContextualSearchContextualCardsBarIntegration[] =
-    "cs-contextual-cards-bar-integration";
-
 // Enables chrome hosted mode for Android.
 const char kEnableHostedMode[] = "enable-hosted-mode";
 
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index 62bdcbb..5f566f9 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -258,7 +258,6 @@
 extern const char kDisableContextualSearch[];
 extern const char kEnableAccessibilityTabSwitcher[];
 extern const char kEnableContextualSearch[];
-extern const char kEnableContextualSearchContextualCardsBarIntegration[];
 extern const char kEnableHostedMode[];
 extern const char kEnableHungRendererInfoBar[];
 extern const char kForceShowUpdateMenuBadge[];
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index e62cad0..03d45d7 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1293,6 +1293,7 @@
   # TODO(jbudorick): In progress. See crbug.com/611756
   if (is_android) {
     deps += [
+      "//chrome/android:app_hooks_java",
       "//chrome/android:chrome_java",
       "//v8:v8_external_startup_data_assets",
     ]
@@ -5120,6 +5121,7 @@
     java_files = [ "android/unit_tests_apk/src/org/chromium/chrome/unit_tests_apk/ChromeNativeTestApplication.java" ]
     deps = [
       "//base:base_java",
+      "//chrome/android:app_hooks_java",
       "//chrome/android:chrome_java",
       "//content/public/android:content_java",
     ]
diff --git a/chromecast/media/base/BUILD.gn b/chromecast/media/base/BUILD.gn
index 695d25d..dbc19db 100644
--- a/chromecast/media/base/BUILD.gn
+++ b/chromecast/media/base/BUILD.gn
@@ -24,8 +24,6 @@
 
 source_set("base") {
   sources = [
-    "audio_device_ids.cc",
-    "audio_device_ids.h",
     "decrypt_context_impl.cc",
     "decrypt_context_impl.h",
     "decrypt_context_impl_clearkey.cc",
diff --git a/chromecast/media/base/audio_device_ids.cc b/chromecast/media/base/audio_device_ids.cc
deleted file mode 100644
index 1ddb012..0000000
--- a/chromecast/media/base/audio_device_ids.cc
+++ /dev/null
@@ -1,15 +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 "chromecast/media/base/audio_device_ids.h"
-
-namespace chromecast {
-namespace media {
-
-const char kAlarmAudioDeviceId[] = "assistant-alarm";
-const char kEarconAudioDeviceId[] = "default-earcon";
-const char kTtsAudioDeviceId[] = "assistant-tts";
-
-}  // namespace media
-}  // namespace chromecast
diff --git a/chromecast/media/base/audio_device_ids.h b/chromecast/media/base/audio_device_ids.h
deleted file mode 100644
index f8d639a17..0000000
--- a/chromecast/media/base/audio_device_ids.h
+++ /dev/null
@@ -1,22 +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 CHROMECAST_MEDIA_BASE_AUDIO_DEVICE_IDS_H_
-#define CHROMECAST_MEDIA_BASE_AUDIO_DEVICE_IDS_H_
-
-namespace chromecast {
-namespace media {
-
-extern const char kAlarmAudioDeviceId[];
-extern const char kEarconAudioDeviceId[];
-extern const char kTtsAudioDeviceId[];
-
-const int kDefaultAudioStreamType = 0;
-const int kAlarmAudioStreamType = 1;
-const int kTtsAudioStreamType = 2;
-
-}  // namespace media
-}  // namespace chromecast
-
-#endif  // CHROMECAST_MEDIA_BASE_AUDIO_DEVICE_IDS_H_
diff --git a/chromecast/media/cma/backend/alsa/BUILD.gn b/chromecast/media/cma/backend/alsa/BUILD.gn
index 8f04d78..f2c6830 100644
--- a/chromecast/media/cma/backend/alsa/BUILD.gn
+++ b/chromecast/media/cma/backend/alsa/BUILD.gn
@@ -38,8 +38,6 @@
     "alsa_wrapper.h",
     "audio_decoder_alsa.cc",
     "audio_decoder_alsa.h",
-    "filter_group.cc",
-    "filter_group.h",
     "media_pipeline_backend_alsa.cc",
     "media_pipeline_backend_alsa.h",
     "stream_mixer_alsa.cc",
@@ -58,7 +56,6 @@
     ":slew_volume",
     "//base",
     "//chromecast/base",
-    "//chromecast/media/base",
     "//chromecast/media/cma/backend:null",
     "//chromecast/media/cma/base",
     "//chromecast/media/cma/decoder",
diff --git a/chromecast/media/cma/backend/alsa/audio_decoder_alsa.cc b/chromecast/media/cma/backend/alsa/audio_decoder_alsa.cc
index 0221c0a9..e288cc5 100644
--- a/chromecast/media/cma/backend/alsa/audio_decoder_alsa.cc
+++ b/chromecast/media/cma/backend/alsa/audio_decoder_alsa.cc
@@ -108,9 +108,8 @@
   TRACE_FUNCTION_ENTRY0();
   current_pts_ = start_pts;
   DCHECK(IsValidConfig(config_));
-  mixer_input_.reset(new StreamMixerAlsaInput(this, config_.samples_per_second,
-                                              backend_->Primary(),
-                                              backend_->DeviceId()));
+  mixer_input_.reset(new StreamMixerAlsaInput(
+      this, config_.samples_per_second, backend_->Primary()));
   mixer_input_->SetVolumeMultiplier(volume_multiplier_);
   // Create decoder_ if necessary. This can happen if Stop() was called, and
   // SetConfig() was not called since then.
@@ -238,9 +237,8 @@
     // Destroy the old input first to ensure that the mixer output sample rate
     // is updated.
     mixer_input_.reset();
-    mixer_input_.reset(new StreamMixerAlsaInput(this, config.samples_per_second,
-                                                backend_->Primary(),
-                                                backend_->DeviceId()));
+    mixer_input_.reset(new StreamMixerAlsaInput(
+        this, config.samples_per_second, backend_->Primary()));
     mixer_input_->SetVolumeMultiplier(volume_multiplier_);
     pending_output_frames_ = kNoPendingOutput;
   }
diff --git a/chromecast/media/cma/backend/alsa/audio_filter_factory.h b/chromecast/media/cma/backend/alsa/audio_filter_factory.h
index cb91fbc..5f8dcda 100644
--- a/chromecast/media/cma/backend/alsa/audio_filter_factory.h
+++ b/chromecast/media/cma/backend/alsa/audio_filter_factory.h
@@ -15,12 +15,7 @@
 class AudioFilterFactory {
  public:
   // FilterType specifies the usage of the created filter.
-  enum FilterType {
-    MEDIA_AUDIO_FILTER = 0,
-    TTS_AUDIO_FILTER,
-    COMMUNICATION_AUDIO_FILTER,
-    ALARM_AUDIO_FILTER,
-  };
+  enum FilterType { PRE_LOOPBACK_FILTER, POST_LOOPBACK_FILTER };
 
   // Creates a new AudioFilterInterface.
   static std::unique_ptr<AudioFilterInterface> MakeAudioFilter(
diff --git a/chromecast/media/cma/backend/alsa/filter_group.cc b/chromecast/media/cma/backend/alsa/filter_group.cc
deleted file mode 100644
index 0eb0d3be..0000000
--- a/chromecast/media/cma/backend/alsa/filter_group.cc
+++ /dev/null
@@ -1,119 +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 "chromecast/media/cma/backend/alsa/filter_group.h"
-#include "media/base/audio_bus.h"
-
-namespace chromecast {
-namespace media {
-
-namespace {
-
-// How many seconds of silence should be passed to the filters to flush them.
-const float kSilenceSecondsToFilter = 1.0f;
-const int kNumOutputChannels = 2;
-
-}  // namespace
-
-FilterGroup::FilterGroup(const std::unordered_set<std::string>& input_types,
-                         AudioFilterFactory::FilterType filter_type)
-    : input_types_(input_types),
-      output_samples_per_second_(0),
-      sample_format_(::media::SampleFormat::kUnknownSampleFormat),
-      audio_filter_(AudioFilterFactory::MakeAudioFilter(filter_type)),
-      silence_frames_filtered_(0) {}
-
-FilterGroup::~FilterGroup() = default;
-
-void FilterGroup::Initialize(int output_samples_per_second,
-                             ::media::SampleFormat format) {
-  output_samples_per_second_ = output_samples_per_second;
-  sample_format_ = format;
-  if (audio_filter_) {
-    audio_filter_->SetSampleRateAndFormat(output_samples_per_second_,
-                                          sample_format_);
-  }
-  silence_frames_filtered_ = 0;
-}
-
-bool FilterGroup::CanProcessInput(StreamMixerAlsa::InputQueue* input) {
-  return !(input_types_.find(input->device_id()) == input_types_.end());
-}
-
-void FilterGroup::AddActiveInput(StreamMixerAlsa::InputQueue* input) {
-  active_inputs_.push_back(input);
-}
-
-std::vector<uint8_t>* FilterGroup::GetInterleaved() {
-  return &interleaved_;
-}
-
-bool FilterGroup::MixAndFilter(int chunk_size) {
-  DCHECK_NE(output_samples_per_second_, 0);
-  DCHECK_NE(sample_format_, ::media::SampleFormat::kUnknownSampleFormat);
-  if (active_inputs_.empty()) {
-    int silence_frames_to_filter =
-        output_samples_per_second_ * kSilenceSecondsToFilter;
-    if (audio_filter_ && silence_frames_filtered_ < silence_frames_to_filter) {
-      silence_frames_filtered_ += chunk_size;
-    } else {
-      return false;  // Output will be silence, no need to mix.
-    }
-  } else {
-    silence_frames_filtered_ = 0;
-  }
-
-  ResizeBuffersIfNecessary(chunk_size);
-
-  mixed_->ZeroFramesPartial(0, chunk_size);
-  for (StreamMixerAlsa::InputQueue* input : active_inputs_) {
-    input->GetResampledData(temp_.get(), chunk_size);
-    for (int c = 0; c < kNumOutputChannels; ++c) {
-      input->VolumeScaleAccumulate(c, temp_->channel(c), chunk_size,
-                                   mixed_->channel(c));
-    }
-  }
-
-  mixed_->ToInterleaved(chunk_size, BytesPerOutputFormatSample(),
-                        interleaved_.data());
-  if (audio_filter_) {
-    audio_filter_->ProcessInterleaved(interleaved_.data(), chunk_size);
-  }
-
-  return true;
-}
-
-void FilterGroup::ClearInterleaved(int chunk_size) {
-  ResizeBuffersIfNecessary(chunk_size);
-  memset(interleaved_.data(), 0, static_cast<size_t>(chunk_size) *
-                                     kNumOutputChannels *
-                                     BytesPerOutputFormatSample());
-}
-
-void FilterGroup::ResizeBuffersIfNecessary(int chunk_size) {
-  if (!mixed_ || mixed_->frames() < chunk_size) {
-    mixed_ = ::media::AudioBus::Create(kNumOutputChannels, chunk_size);
-  }
-  if (!temp_ || temp_->frames() < chunk_size) {
-    temp_ = ::media::AudioBus::Create(kNumOutputChannels, chunk_size);
-  }
-
-  size_t interleaved_size = static_cast<size_t>(chunk_size) *
-                            kNumOutputChannels * BytesPerOutputFormatSample();
-
-  if (interleaved_.size() < interleaved_size) {
-    interleaved_.resize(interleaved_size);
-  }
-}
-
-int FilterGroup::BytesPerOutputFormatSample() {
-  return ::media::SampleFormatToBytesPerChannel(sample_format_);
-}
-
-void FilterGroup::ClearActiveInputs() {
-  active_inputs_.clear();
-}
-
-}  // namespace media
-}  // namespace chromecast
diff --git a/chromecast/media/cma/backend/alsa/filter_group.h b/chromecast/media/cma/backend/alsa/filter_group.h
deleted file mode 100644
index dddbf83..0000000
--- a/chromecast/media/cma/backend/alsa/filter_group.h
+++ /dev/null
@@ -1,87 +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 CHROMECAST_MEDIA_CMA_BACKEND_ALSA_FILTER_GROUP_H_
-#define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_FILTER_GROUP_H_
-
-#include <stdint.h>
-
-#include <memory>
-#include <string>
-#include <unordered_set>
-#include <vector>
-
-#include "base/macros.h"
-#include "chromecast/media/cma/backend/alsa/audio_filter_factory.h"
-#include "chromecast/media/cma/backend/alsa/stream_mixer_alsa.h"
-
-namespace chromecast {
-namespace media {
-class AudioBus;
-
-// FilterGroup contains state for an AudioFilter.
-// It takes multiple StreamMixerAlsa::InputQueues,
-// mixes them, and processes them.
-
-// ActiveInputs are added with AddActiveInput(), then cleared when
-// MixAndFilter() is called (they must be added each time data is queried).
-class FilterGroup {
- public:
-  // |input_types| is a set of strings that is used as a filter to determine
-  // if an input belongs to this group (InputQueue->name() must exactly match an
-  // entry in |input_types| to be processed by this group.
-  // |filter_type| is passed to AudioFilterFactory to create an AudioFilter.
-  FilterGroup(const std::unordered_set<std::string>& input_types,
-              AudioFilterFactory::FilterType filter_type);
-  ~FilterGroup();
-
-  // Sets the sample rate and format in the AudioFilter.
-  void Initialize(int output_samples_per_second, ::media::SampleFormat format);
-
-  // Returns |true| if this FilterGroup is appropriate to process |input|.
-  bool CanProcessInput(StreamMixerAlsa::InputQueue* input);
-
-  // Adds |input| to |active_inputs_|.
-  void AddActiveInput(StreamMixerAlsa::InputQueue* input);
-
-  // Retrieves a pointer to the output buffer |interleaved_|.
-  std::vector<uint8_t>* GetInterleaved();
-
-  // Mixes all active inputs and passes them through the audio filter.
-  bool MixAndFilter(int chunk_size);
-
-  // Overwrites |interleaved_| with 0's, ensuring at least
-  // |chunk_size| bytes.
-  void ClearInterleaved(int chunk_size);
-
-  // Clear all |active_inputs_|. This should be called before AddActiveInputs
-  // on each mixing iteration.
-  void ClearActiveInputs();
-
- private:
-  void ResizeBuffersIfNecessary(int chunk_size);
-  int BytesPerOutputFormatSample();
-
-  const std::unordered_set<std::string> input_types_;
-  std::vector<StreamMixerAlsa::InputQueue*> active_inputs_;
-
-  int output_samples_per_second_;
-  ::media::SampleFormat sample_format_;
-
-  // Buffers that hold audio data while it is mixed.
-  // These are kept as members of this class to minimize copies and
-  // allocations.
-  std::unique_ptr<::media::AudioBus> temp_;
-  std::unique_ptr<::media::AudioBus> mixed_;
-  std::vector<uint8_t> interleaved_;
-
-  std::unique_ptr<AudioFilterInterface> audio_filter_;
-  int silence_frames_filtered_;
-
-  DISALLOW_COPY_AND_ASSIGN(FilterGroup);
-};
-
-}  // namespace media
-}  // namespace chromecast
-#endif  // CHROMECAST_MEDIA_CMA_BACKEND_ALSA_FILTER_GROUP_H_
diff --git a/chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.cc b/chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.cc
index ed95959..8c33d6b7 100644
--- a/chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.cc
+++ b/chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.cc
@@ -98,10 +98,6 @@
           MediaPipelineDeviceParams::kAudioStreamSoundEffects);
 }
 
-std::string MediaPipelineBackendAlsa::DeviceId() const {
-  return params_.device_id;
-}
-
 const scoped_refptr<base::SingleThreadTaskRunner>&
 MediaPipelineBackendAlsa::GetTaskRunner() const {
   return static_cast<TaskRunnerImpl*>(params_.task_runner)->runner();
diff --git a/chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.h b/chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.h
index 2ef0daf..de0baade 100644
--- a/chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.h
+++ b/chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.h
@@ -6,7 +6,6 @@
 #define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_MEDIA_PIPELINE_BACKEND_ALSA_H_
 
 #include <memory>
-#include <string>
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
@@ -42,7 +41,6 @@
   int64_t GetCurrentPts() override;
 
   bool Primary() const;
-  std::string DeviceId() const;
   const scoped_refptr<base::SingleThreadTaskRunner>& GetTaskRunner() const;
 
  private:
diff --git a/chromecast/media/cma/backend/alsa/stream_mixer_alsa.cc b/chromecast/media/cma/backend/alsa/stream_mixer_alsa.cc
index e0ea0e0..463a300 100644
--- a/chromecast/media/cma/backend/alsa/stream_mixer_alsa.cc
+++ b/chromecast/media/cma/backend/alsa/stream_mixer_alsa.cc
@@ -7,26 +7,20 @@
 #include <algorithm>
 #include <cmath>
 #include <limits>
-#include <unordered_set>
 #include <utility>
 
 #include "base/bind_helpers.h"
 #include "base/command_line.h"
 #include "base/lazy_instance.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
-#include "base/numerics/saturated_arithmetic.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/threading/platform_thread.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "chromecast/base/chromecast_switches.h"
-#include "chromecast/media/base/audio_device_ids.h"
 #include "chromecast/media/cma/backend/alsa/alsa_wrapper.h"
 #include "chromecast/media/cma/backend/alsa/audio_filter_factory.h"
-#include "chromecast/media/cma/backend/alsa/filter_group.h"
 #include "chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.h"
-#include "media/audio/audio_device_description.h"
 #include "media/base/audio_bus.h"
 #include "media/base/media_switches.h"
 
@@ -118,6 +112,9 @@
 const snd_pcm_format_t kPreferredSampleFormats[] = {SND_PCM_FORMAT_S32,
                                                     SND_PCM_FORMAT_S16};
 
+// How many seconds of silence should be passed to the filters to flush them.
+const float kSilenceSecondsToFilter = 1.0f;
+
 const int64_t kNoTimestamp = std::numeric_limits<int64_t>::min();
 
 int64_t TimespecToMicroseconds(struct timespec time) {
@@ -170,12 +167,6 @@
   return true;
 }
 
-void VectorAccumulate(const int32_t* source, size_t size, int32_t* dest) {
-  for (size_t i = 0; i < size; ++i) {
-    dest[i] = base::SaturatedAddition(source[i], dest[i]);
-  }
-}
-
 class StreamMixerAlsaInstance : public StreamMixerAlsa {
  public:
   StreamMixerAlsaInstance() {}
@@ -254,23 +245,11 @@
           ? kLowSampleRateCutoff
           : 0;
 
-  // Create filter groups.
-  // TODO(bshaya): Switch to filter groups based on AudioContentType
-  filter_groups_.push_back(base::MakeUnique<FilterGroup>(
-      std::unordered_set<std::string>(
-          {::media::AudioDeviceDescription::kCommunicationsDeviceId}),
-      AudioFilterFactory::COMMUNICATION_AUDIO_FILTER));
-  filter_groups_.push_back(base::MakeUnique<FilterGroup>(
-      std::unordered_set<std::string>({kAlarmAudioDeviceId}),
-      AudioFilterFactory::ALARM_AUDIO_FILTER));
-  filter_groups_.push_back(base::MakeUnique<FilterGroup>(
-      std::unordered_set<std::string>({kTtsAudioDeviceId}),
-      AudioFilterFactory::TTS_AUDIO_FILTER));
-  filter_groups_.push_back(base::MakeUnique<FilterGroup>(
-      std::unordered_set<std::string>(
-          {::media::AudioDeviceDescription::kDefaultDeviceId,
-           kEarconAudioDeviceId}),
-      AudioFilterFactory::MEDIA_AUDIO_FILTER));
+  // Create filters
+  pre_loopback_filter_ = AudioFilterFactory::MakeAudioFilter(
+      AudioFilterFactory::PRE_LOOPBACK_FILTER);
+  post_loopback_filter_ = AudioFilterFactory::MakeAudioFilter(
+      AudioFilterFactory::POST_LOOPBACK_FILTER);
 
   DefineAlsaParameters();
 }
@@ -550,9 +529,14 @@
   }
 
   // Initialize filters
-  for (auto&& filter_group : filter_groups_) {
-    filter_group->Initialize(output_samples_per_second_,
-                             ::media::SampleFormat::kSampleFormatS32);
+  if (pre_loopback_filter_) {
+    pre_loopback_filter_->SetSampleRateAndFormat(
+        output_samples_per_second_, ::media::SampleFormat::kSampleFormatS32);
+  }
+
+  if (post_loopback_filter_) {
+    post_loopback_filter_->SetSampleRateAndFormat(
+        output_samples_per_second_, ::media::SampleFormat::kSampleFormatS32);
   }
 
   RETURN_REPORT_ERROR(PcmPrepare, pcm_);
@@ -651,7 +635,6 @@
   }
 
   DCHECK(input);
-
   // If the new input is a primary one, we may need to change the output
   // sample rate to match its input sample rate.
   // We only change the output rate if it is not set to a fixed value.
@@ -661,31 +644,17 @@
   }
 
   check_close_timer_->Stop();
-  switch (state_) {
-    case kStateUninitialized:
-      requested_output_samples_per_second_ = input->input_samples_per_second();
-      Start();
-    // Fallthrough intended
-    case kStateNormalPlayback: {
-      bool found_filter_group = false;
-      input->Initialize(rendering_delay_);
-      for (auto&& filter_group : filter_groups_) {
-        if (filter_group->CanProcessInput(input.get())) {
-          found_filter_group = true;
-          input->set_filter_group(filter_group.get());
-          break;
-        }
-      }
-      DCHECK(found_filter_group) << "Could not find a filter group for "
-                                 << input->device_id();
-      inputs_.push_back(std::move(input));
-    } break;
-    case kStateError:
-      input->SignalError(StreamMixerAlsaInput::MixerError::kInternalError);
-      ignored_inputs_.push_back(std::move(input));
-      break;
-    default:
-      NOTREACHED();
+  if (state_ == kStateUninitialized) {
+    requested_output_samples_per_second_ = input->input_samples_per_second();
+    Start();
+    input->Initialize(rendering_delay_);
+    inputs_.push_back(std::move(input));
+  } else if (state_ == kStateNormalPlayback) {
+    input->Initialize(rendering_delay_);
+    inputs_.push_back(std::move(input));
+  } else {
+    input->SignalError(StreamMixerAlsaInput::MixerError::kInternalError);
+    ignored_inputs_.push_back(std::move(input));
   }
 }
 
@@ -793,8 +762,6 @@
 
 bool StreamMixerAlsa::TryWriteFrames() {
   DCHECK(mixer_task_runner_->BelongsToCurrentThread());
-  DCHECK_GE(filter_groups_.size(), 1u);
-
   if (state_ != kStateNormalPlayback) {
     return false;
   }
@@ -802,17 +769,12 @@
   const int min_frames_in_buffer =
       output_samples_per_second_ * kMinBufferedDataMs / 1000;
   int chunk_size = output_samples_per_second_ * kMaxWriteSizeMs / 1000;
-  bool is_silence = true;
-  for (auto&& filter_group : filter_groups_) {
-    filter_group->ClearActiveInputs();
-  }
+  std::vector<InputQueue*> active_inputs;
   for (auto&& input : inputs_) {
     int read_size = input->MaxReadSize();
     if (read_size > 0) {
-      DCHECK(input->filter_group());
-      input->filter_group()->AddActiveInput(input.get());
+      active_inputs.push_back(input.get());
       chunk_size = std::min(chunk_size, read_size);
-      is_silence = false;
     } else if (input->primary()) {
       if (alsa_->PcmStatus(pcm_, pcm_status_) != 0) {
         LOG(ERROR) << "Failed to get status";
@@ -839,52 +801,57 @@
     }
   }
 
-  if (is_silence) {
-    // No inputs have any data to provide. Push silence to prevent underrun.
+  if (active_inputs.empty()) {
+    // No inputs have any data to provide. Fill with silence to avoid underrun.
     chunk_size = kPreventUnderrunChunkSize;
+    if (!mixed_ || mixed_->frames() < chunk_size) {
+      mixed_ = ::media::AudioBus::Create(kNumOutputChannels, chunk_size);
+    }
+
+    mixed_->Zero();
+    WriteMixedPcm(*mixed_, chunk_size, true /* is_silence */);
+    return true;
   }
 
-  // Mix and filter each group.
-  std::vector<uint8_t>* interleaved = nullptr;
-  for (auto&& filter_group : filter_groups_) {
-    if (filter_group->MixAndFilter(chunk_size)) {
-      if (!interleaved) {
-        interleaved = filter_group->GetInterleaved();
-      } else {
-        DCHECK_EQ(4, BytesPerOutputFormatSample());
-        VectorAccumulate(
-            reinterpret_cast<int32_t*>(filter_group->GetInterleaved()->data()),
-            chunk_size * kNumOutputChannels,
-            reinterpret_cast<int32_t*>(interleaved->data()));
-      }
+  // If |mixed_| has not been allocated, or it is too small, allocate a buffer.
+  if (!mixed_ || mixed_->frames() < chunk_size) {
+    mixed_ = ::media::AudioBus::Create(kNumOutputChannels, chunk_size);
+  }
+
+  // If |temp_| has not been allocated, or is too small, allocate a buffer.
+  if (!temp_ || temp_->frames() < chunk_size) {
+    temp_ = ::media::AudioBus::Create(kNumOutputChannels, chunk_size);
+  }
+
+  mixed_->ZeroFramesPartial(0, chunk_size);
+
+  // Loop through active inputs, polling them for data, and mixing them.
+  for (InputQueue* input : active_inputs) {
+    input->GetResampledData(temp_.get(), chunk_size);
+    for (int c = 0; c < kNumOutputChannels; ++c) {
+      input->VolumeScaleAccumulate(c, temp_->channel(c), chunk_size,
+                                   mixed_->channel(c));
     }
   }
 
-  if (!interleaved) {
-    // No group has any data, write empty buffer.
-    filter_groups_[0]->ClearInterleaved(chunk_size);
-    interleaved = filter_groups_[0]->GetInterleaved();
-  }
-
-  WriteMixedPcm(interleaved, chunk_size);
+  WriteMixedPcm(*mixed_, chunk_size, false /* is_silence */);
   return true;
 }
 
-size_t StreamMixerAlsa::InterleavedSize(int frames) {
-  return BytesPerOutputFormatSample() *
-         static_cast<size_t>(frames * kNumOutputChannels);
-}
-
 ssize_t StreamMixerAlsa::BytesPerOutputFormatSample() {
   return alsa_->PcmFormatSize(pcm_format_, 1);
 }
 
-void StreamMixerAlsa::WriteMixedPcm(std::vector<uint8_t>* interleaved,
-                                    int frames) {
+void StreamMixerAlsa::WriteMixedPcm(const ::media::AudioBus& mixed,
+                                    int frames, bool is_silence) {
   DCHECK(mixer_task_runner_->BelongsToCurrentThread());
   CHECK_PCM_INITIALIZED();
-  DCHECK(interleaved);
-  DCHECK_GE(interleaved->size(), InterleavedSize(frames));
+
+  size_t interleaved_size = static_cast<size_t>(frames * kNumOutputChannels) *
+                            BytesPerOutputFormatSample();
+  if (interleaved_.size() < interleaved_size) {
+    interleaved_.resize(interleaved_size);
+  }
 
   int64_t expected_playback_time;
   if (rendering_delay_.timestamp_microseconds == kNoTimestamp) {
@@ -894,10 +861,37 @@
                              rendering_delay_.delay_microseconds;
   }
 
+  mixed.ToInterleaved(frames, BytesPerOutputFormatSample(),
+                      interleaved_.data());
+
+  // Ensure that, on onset of silence, at least |kSilenceSecondsToFilter|
+  // second of audio get pushed through the filters to clear any memory.
+  bool filter_frames = true;
+  if (is_silence) {
+    int silence_frames_to_filter =
+        output_samples_per_second_ * kSilenceSecondsToFilter;
+    if (silence_frames_filtered_ < silence_frames_to_filter) {
+      silence_frames_filtered_ += frames;
+    } else {
+      filter_frames = false;
+    }
+  } else {
+    silence_frames_filtered_ = 0;
+  }
+
+  // Filter, send to observers, and post filter
+  if (pre_loopback_filter_ && filter_frames) {
+    pre_loopback_filter_->ProcessInterleaved(interleaved_.data(), frames);
+  }
+
   for (CastMediaShlib::LoopbackAudioObserver* observer : loopback_observers_) {
     observer->OnLoopbackAudio(expected_playback_time, kSampleFormatS32,
                               output_samples_per_second_, kNumOutputChannels,
-                              interleaved->data(), InterleavedSize(frames));
+                              interleaved_.data(), interleaved_size);
+  }
+
+  if (post_loopback_filter_ && filter_frames) {
+    post_loopback_filter_->ProcessInterleaved(interleaved_.data(), frames);
   }
 
   // If the PCM has been drained it will be in SND_PCM_STATE_SETUP and need
@@ -907,7 +901,7 @@
   }
 
   int frames_left = frames;
-  uint8_t* data = interleaved->data();
+  uint8_t* data = &interleaved_[0];
   while (frames_left) {
     int frames_or_error;
     while ((frames_or_error = alsa_->PcmWritei(pcm_, data, frames_left)) < 0) {
diff --git a/chromecast/media/cma/backend/alsa/stream_mixer_alsa.h b/chromecast/media/cma/backend/alsa/stream_mixer_alsa.h
index b522f090..53a48911 100644
--- a/chromecast/media/cma/backend/alsa/stream_mixer_alsa.h
+++ b/chromecast/media/cma/backend/alsa/stream_mixer_alsa.h
@@ -28,7 +28,6 @@
 namespace chromecast {
 namespace media {
 class AlsaWrapper;
-class FilterGroup;
 
 // Mixer implementation. The mixer has one or more input queues; these can be
 // added/removed at any time. When an input source pushes frames to an input
@@ -68,11 +67,6 @@
     // precedence for sample rates and will dictate when data is polled.
     virtual bool primary() const = 0;
 
-    // Returns a string describing the content type class.
-    // Should be from chromecast/media/base/audio_device_ids.h
-    // or media/audio/audio_device_description.h
-    virtual std::string device_id() const = 0;
-
     // Returns true if PrepareToDelete() has been called.
     virtual bool IsDeleting() const = 0;
 
@@ -81,12 +75,6 @@
     virtual void Initialize(const MediaPipelineBackendAlsa::RenderingDelay&
                                 mixer_rendering_delay) = 0;
 
-    // Sets and gets the FilterGroup the InputQueue matches.
-    // This is determined at creation to save time matching the InputQueue
-    // to a FilterGroup every time it needs to be mixed.
-    virtual void set_filter_group(FilterGroup* filter_group) = 0;
-    virtual FilterGroup* filter_group() = 0;
-
     // Returns the maximum number of frames that can be read from this input
     // stream without filling with zeros. This should return 0 if the queue is
     // empty and EOS has not been queued.
@@ -207,11 +195,10 @@
 
   void WriteFrames();
   bool TryWriteFrames();
-  void WriteMixedPcm(std::vector<uint8_t>* interleaved, int frames);
+  void WriteMixedPcm(const ::media::AudioBus& mixed, int frames,
+      bool is_silence);
   void UpdateRenderingDelay(int newly_pushed_frames);
-  size_t InterleavedSize(int frames);
   ssize_t BytesPerOutputFormatSample();
-  void ResizeBuffersIfNecessary(int chunk_size);
 
   static bool single_threaded_for_test_;
 
@@ -242,15 +229,26 @@
   std::vector<std::unique_ptr<InputQueue>> inputs_;
   std::vector<std::unique_ptr<InputQueue>> ignored_inputs_;
   MediaPipelineBackendAlsa::RenderingDelay rendering_delay_;
+  // Buffer to write final interleaved data before sending to snd_pcm_writei().
+  std::vector<uint8_t> interleaved_;
+
+  // Buffers that hold audio data while it is mixed, before it is passed to the
+  // ALSA layer. These are kept as members of this class to minimize copies and
+  // allocations.
+  std::unique_ptr<::media::AudioBus> temp_;
+  std::unique_ptr<::media::AudioBus> mixed_;
 
   std::unique_ptr<base::Timer> retry_write_frames_timer_;
 
   int check_close_timeout_;
   std::unique_ptr<base::Timer> check_close_timer_;
 
-  std::vector<std::unique_ptr<FilterGroup>> filter_groups_;
   std::vector<CastMediaShlib::LoopbackAudioObserver*> loopback_observers_;
 
+  std::unique_ptr<AudioFilterInterface> pre_loopback_filter_;
+  std::unique_ptr<AudioFilterInterface> post_loopback_filter_;
+  int silence_frames_filtered_ = 0;
+
   DISALLOW_COPY_AND_ASSIGN(StreamMixerAlsa);
 };
 
diff --git a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.cc b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.cc
index 52883ac21..b3a97df 100644
--- a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.cc
+++ b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.cc
@@ -14,11 +14,9 @@
 
 StreamMixerAlsaInput::StreamMixerAlsaInput(Delegate* delegate,
                                            int samples_per_second,
-                                           bool primary,
-                                           const std::string& device_id) {
-  std::unique_ptr<StreamMixerAlsaInputImpl> impl(
-      new StreamMixerAlsaInputImpl(delegate, samples_per_second, primary,
-                                   device_id, StreamMixerAlsa::Get()));
+                                           bool primary) {
+  std::unique_ptr<StreamMixerAlsaInputImpl> impl(new StreamMixerAlsaInputImpl(
+      delegate, samples_per_second, primary, StreamMixerAlsa::Get()));
   impl_ = impl.get();  // Store a pointer to the impl, but the mixer owns it.
   StreamMixerAlsa::Get()->AddInput(std::move(impl));
 }
diff --git a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.h b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.h
index 7304108..1490fdb 100644
--- a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.h
+++ b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.h
@@ -11,7 +11,6 @@
 #include "base/memory/ref_counted.h"
 #include "base/threading/thread_checker.h"
 #include "chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.h"
-#include "chromecast/public/media/media_pipeline_device_params.h"
 
 namespace chromecast {
 namespace media {
@@ -51,8 +50,7 @@
   // exist.
   StreamMixerAlsaInput(Delegate* delegate,
                        int samples_per_second,
-                       bool primary,
-                       const std::string& device_id);
+                       bool primary);
   // Removes this input from the mixer, destroying the mixer if there are no
   // remaining inputs.
   ~StreamMixerAlsaInput();
diff --git a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.cc b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.cc
index db8c3d5e..656130b 100644
--- a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.cc
+++ b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.cc
@@ -65,14 +65,11 @@
     StreamMixerAlsaInput::Delegate* delegate,
     int input_samples_per_second,
     bool primary,
-    const std::string& device_id,
     StreamMixerAlsa* mixer)
     : delegate_(delegate),
       input_samples_per_second_(input_samples_per_second),
       primary_(primary),
-      device_id_(device_id),
       mixer_(mixer),
-      filter_group_(nullptr),
       mixer_task_runner_(mixer_->task_runner()),
       caller_task_runner_(base::ThreadTaskRunnerHandle::Get()),
       resample_ratio_(1.0),
@@ -88,14 +85,14 @@
       zeroed_frames_(0),
       is_underflowing_(false),
       weak_factory_(this) {
-  LOG(INFO) << "Create " << device_id_ << " (" << this << ")";
+  LOG(INFO) << "Create " << this;
   DCHECK(delegate_);
   DCHECK(mixer_);
   weak_this_ = weak_factory_.GetWeakPtr();
 }
 
 StreamMixerAlsaInputImpl::~StreamMixerAlsaInputImpl() {
-  LOG(INFO) << "Destroy " << device_id_ << " (" << this << ")";
+  LOG(INFO) << "Destroy " << this;
   DCHECK(mixer_task_runner_->BelongsToCurrentThread());
 }
 
@@ -107,10 +104,6 @@
   return primary_;
 }
 
-std::string StreamMixerAlsaInputImpl::device_id() const {
-  return device_id_;
-}
-
 bool StreamMixerAlsaInputImpl::IsDeleting() const {
   DCHECK(mixer_task_runner_->BelongsToCurrentThread());
   return (state_ == kStateFinalFade || state_ == kStateDeleted);
@@ -134,14 +127,6 @@
   fade_frames_remaining_ = NormalFadeFrames();
 }
 
-void StreamMixerAlsaInputImpl::set_filter_group(FilterGroup* filter_group) {
-  filter_group_ = filter_group;
-}
-
-FilterGroup* StreamMixerAlsaInputImpl::filter_group() {
-  return filter_group_;
-}
-
 void StreamMixerAlsaInputImpl::PreventDelegateCalls() {
   DCHECK(caller_task_runner_->BelongsToCurrentThread());
   weak_factory_.InvalidateWeakPtrs();
@@ -441,6 +426,7 @@
 
 void StreamMixerAlsaInputImpl::FadeIn(::media::AudioBus* dest, int frames) {
   DCHECK(mixer_task_runner_->BelongsToCurrentThread());
+  LOG(INFO) << "Fading in, " << fade_frames_remaining_ << " frames remaining";
   float fade_in_frames = mixer_->output_samples_per_second() * kFadeMs /
                          base::Time::kMillisecondsPerSecond;
   for (int f = 0; f < frames && fade_frames_remaining_; ++f) {
@@ -453,6 +439,7 @@
 
 void StreamMixerAlsaInputImpl::FadeOut(::media::AudioBus* dest, int frames) {
   DCHECK(mixer_task_runner_->BelongsToCurrentThread());
+  LOG(INFO) << "Fading out, " << fade_frames_remaining_ << " frames remaining";
   int f = 0;
   for (; f < frames && fade_frames_remaining_; ++f) {
     float fade_multiplier =
@@ -528,7 +515,7 @@
 
 void StreamMixerAlsaInputImpl::SetVolumeMultiplier(float multiplier) {
   RUN_ON_MIXER_THREAD(SetVolumeMultiplier, multiplier);
-  LOG(INFO) << device_id_ << "(" << this << "): stream volume = " << multiplier;
+  LOG(INFO) << this << ": stream volume = " << multiplier;
   DCHECK(!IsDeleting());
   if (multiplier > 1.0f)
     multiplier = 1.0f;
diff --git a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.h b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.h
index 2ff54a85..19086b8 100644
--- a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.h
+++ b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.h
@@ -7,7 +7,6 @@
 
 #include <deque>
 #include <memory>
-#include <string>
 
 #include "base/callback.h"
 #include "base/macros.h"
@@ -31,8 +30,6 @@
 namespace chromecast {
 namespace media {
 
-class FilterGroup;
-
 // Input queue implementation for StreamMixerAlsa. Each input source pushes
 // frames to an instance of StreamMixerAlsaInputImpl; this then signals the
 // mixer to pull as much data as possible from all input queues, and mix it and
@@ -93,7 +90,6 @@
   StreamMixerAlsaInputImpl(StreamMixerAlsaInput::Delegate* delegate,
                            int input_samples_per_second,
                            bool primary,
-                           const std::string& device_id,
                            StreamMixerAlsa* mixer);
 
   ~StreamMixerAlsaInputImpl() override;
@@ -119,12 +115,9 @@
   // StreamMixerAlsa::InputQueue implementation:
   int input_samples_per_second() const override;
   bool primary() const override;
-  std::string device_id() const override;
   bool IsDeleting() const override;
   void Initialize(const MediaPipelineBackendAlsa::RenderingDelay&
                       mixer_rendering_delay) override;
-  void set_filter_group(FilterGroup* filter_group) override;
-  FilterGroup* filter_group() override;
   int MaxReadSize() override;
   void GetResampledData(::media::AudioBus* dest, int frames) override;
   void OnSkipped() override;
@@ -154,9 +147,7 @@
   StreamMixerAlsaInput::Delegate* const delegate_;
   const int input_samples_per_second_;
   const bool primary_;
-  std::string device_id_;
   StreamMixerAlsa* const mixer_;
-  FilterGroup* filter_group_;
   const scoped_refptr<base::SingleThreadTaskRunner> mixer_task_runner_;
   const scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner_;
 
diff --git a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_unittest.cc b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_unittest.cc
index db5e342..9770a4c0 100644
--- a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_unittest.cc
+++ b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_unittest.cc
@@ -15,7 +15,6 @@
 #include "base/run_loop.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "chromecast/media/cma/backend/alsa/mock_alsa_wrapper.h"
-#include "media/audio/audio_device_description.h"
 #include "media/base/audio_bus.h"
 #include "media/base/vector_math.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -127,17 +126,13 @@
 
 class MockInputQueue : public StreamMixerAlsa::InputQueue {
  public:
-  explicit MockInputQueue(int samples_per_second,
-                          const std::string& device_id =
-                              ::media::AudioDeviceDescription::kDefaultDeviceId)
+  explicit MockInputQueue(int samples_per_second)
       : paused_(true),
         samples_per_second_(samples_per_second),
         max_read_size_(kTestMaxReadSize),
         multiplier_(1.0),
         primary_(true),
-        deleting_(false),
-        device_id_(device_id),
-        filter_group_(nullptr) {
+        deleting_(false) {
     ON_CALL(*this, GetResampledData(_, _)).WillByDefault(
         testing::Invoke(this, &MockInputQueue::DoGetResampledData));
     ON_CALL(*this, VolumeScaleAccumulate(_, _, _, _)).WillByDefault(
@@ -156,9 +151,6 @@
   MOCK_METHOD1(Initialize,
                void(const MediaPipelineBackendAlsa::RenderingDelay&
                         mixer_rendering_delay));
-  std::string device_id() const override { return device_id_; }
-  void set_filter_group(FilterGroup* group) override { filter_group_ = group; }
-  FilterGroup* filter_group() override { return filter_group_; }
   int MaxReadSize() override { return max_read_size_; }
   MOCK_METHOD2(GetResampledData, void(::media::AudioBus* dest, int frames));
   MOCK_METHOD4(
@@ -222,9 +214,6 @@
   float multiplier_;
   bool primary_;
   bool deleting_;
-  const std::string device_id_;
-  FilterGroup* filter_group_;
-
   std::unique_ptr<::media::AudioBus> data_;
 
   DISALLOW_COPY_AND_ASSIGN(MockInputQueue);
@@ -525,48 +514,6 @@
   // Get the actual stream rendered to ALSA, and compare it against the
   // expected stream. The stream should match exactly.
   auto actual = ::media::AudioBus::Create(kNumChannels, kNumFrames);
-  actual->FromInterleaved(&(mock_alsa()->data()[0]), kNumFrames,
-                          kBytesPerSample);
-  CompareAudioData(*expected, *actual);
-}
-
-TEST_F(StreamMixerAlsaTest, TwoUnscaledStreamsWithDifferentIdsMixProperly) {
-  // Create a group of input streams.
-  std::vector<testing::StrictMock<MockInputQueue>*> inputs;
-  inputs.push_back(new testing::StrictMock<MockInputQueue>(
-      kTestSamplesPerSecond,
-      ::media::AudioDeviceDescription::kDefaultDeviceId));
-  inputs.back()->SetPaused(false);
-  inputs.push_back(new testing::StrictMock<MockInputQueue>(
-      kTestSamplesPerSecond,
-      ::media::AudioDeviceDescription::kCommunicationsDeviceId));
-  inputs.back()->SetPaused(false);
-
-  StreamMixerAlsa* mixer = StreamMixerAlsa::Get();
-  for (size_t i = 0; i < inputs.size(); ++i) {
-    EXPECT_CALL(*inputs[i], Initialize(_)).Times(1);
-    mixer->AddInput(base::WrapUnique(inputs[i]));
-  }
-
-  // Poll the inputs for data.
-  const int kNumFrames = 32;
-  for (size_t i = 0; i < inputs.size(); ++i) {
-    inputs[i]->SetData(GetTestData(i));
-    EXPECT_CALL(*inputs[i], GetResampledData(_, kNumFrames));
-    EXPECT_CALL(*inputs[i], VolumeScaleAccumulate(_, _, kNumFrames, _))
-        .Times(kNumChannels);
-    EXPECT_CALL(*inputs[i], AfterWriteFrames(_));
-  }
-
-  EXPECT_CALL(*mock_alsa(), PcmWritei(_, _, kNumFrames)).Times(1);
-  mixer->WriteFramesForTest();
-
-  // Mix the inputs manually.
-  auto expected = GetMixedAudioData(inputs);
-
-  // Get the actual stream rendered to ALSA, and compare it against the
-  // expected stream. The stream should match exactly.
-  auto actual = ::media::AudioBus::Create(kNumChannels, kNumFrames);
   actual->FromInterleaved(
       &(mock_alsa()->data()[0]), kNumFrames, kBytesPerSample);
   CompareAudioData(*expected, *actual);
diff --git a/chromecast/media/cma/backend/media_pipeline_backend_manager.cc b/chromecast/media/cma/backend/media_pipeline_backend_manager.cc
index df0b8895..4b77c90 100644
--- a/chromecast/media/cma/backend/media_pipeline_backend_manager.cc
+++ b/chromecast/media/cma/backend/media_pipeline_backend_manager.cc
@@ -45,7 +45,6 @@
     const media::MediaPipelineDeviceParams& params,
     int stream_type) {
   DCHECK(media_task_runner_->BelongsToCurrentThread());
-  LOG(INFO) << "Creating a " << params.device_id << " stream.";
   std::unique_ptr<MediaPipelineBackend> backend_ptr(
       new MediaPipelineBackendWrapper(
           base::WrapUnique(
diff --git a/chromecast/media/cma/pipeline/load_type.h b/chromecast/media/cma/pipeline/load_type.h
index 4dc5a8a5..569b2ef 100644
--- a/chromecast/media/cma/pipeline/load_type.h
+++ b/chromecast/media/cma/pipeline/load_type.h
@@ -12,7 +12,6 @@
   kLoadTypeURL,
   kLoadTypeMediaSource,
   kLoadTypeMediaStream,
-  kLoadTypeCommunication,
 };
 
 }  // namespace media
diff --git a/chromecast/media/cma/pipeline/media_pipeline_impl.cc b/chromecast/media/cma/pipeline/media_pipeline_impl.cc
index aba86cf..6b278f9 100644
--- a/chromecast/media/cma/pipeline/media_pipeline_impl.cc
+++ b/chromecast/media/cma/pipeline/media_pipeline_impl.cc
@@ -32,25 +32,19 @@
 namespace {
 
 // Buffering parameters when load_type is kLoadTypeUrl.
-constexpr base::TimeDelta kLowBufferThresholdURL(
+const base::TimeDelta kLowBufferThresholdURL(
     base::TimeDelta::FromMilliseconds(2000));
-constexpr base::TimeDelta kHighBufferThresholdURL(
+const base::TimeDelta kHighBufferThresholdURL(
     base::TimeDelta::FromMilliseconds(6000));
 
 // Buffering parameters when load_type is kLoadTypeMediaSource.
-constexpr base::TimeDelta kLowBufferThresholdMediaSource(
+const base::TimeDelta kLowBufferThresholdMediaSource(
     base::TimeDelta::FromMilliseconds(0));
-constexpr base::TimeDelta kHighBufferThresholdMediaSource(
+const base::TimeDelta kHighBufferThresholdMediaSource(
     base::TimeDelta::FromMilliseconds(300));
 
-// Buffering parameters when load_type is kLoadTypeCommunication.
-constexpr base::TimeDelta kLowBufferThresholdCommunication(
-    base::TimeDelta::FromMilliseconds(0));
-constexpr base::TimeDelta kHighBufferThresholdCommunication(
-    base::TimeDelta::FromMilliseconds(20));
-
 // Interval between two updates of the media time.
-constexpr base::TimeDelta kTimeUpdateInterval(
+const base::TimeDelta kTimeUpdateInterval(
     base::TimeDelta::FromMilliseconds(250));
 
 // Interval between two updates of the statistics is equal to:
@@ -129,9 +123,6 @@
     if (load_type == kLoadTypeMediaSource) {
       low_threshold = kLowBufferThresholdMediaSource;
       high_threshold = kHighBufferThresholdMediaSource;
-    } else if (load_type == kLoadTypeCommunication) {
-      low_threshold = kLowBufferThresholdCommunication;
-      high_threshold = kHighBufferThresholdCommunication;
     }
     scoped_refptr<BufferingConfig> buffering_config(
         new BufferingConfig(low_threshold, high_threshold));
diff --git a/chromecast/media/service/cast_renderer.cc b/chromecast/media/service/cast_renderer.cc
index dde8c7667..f3bd681a 100644
--- a/chromecast/media/service/cast_renderer.cc
+++ b/chromecast/media/service/cast_renderer.cc
@@ -7,7 +7,6 @@
 #include "base/bind.h"
 #include "base/single_thread_task_runner.h"
 #include "chromecast/base/task_runner_impl.h"
-#include "chromecast/media/base/audio_device_ids.h"
 #include "chromecast/media/base/video_mode_switcher.h"
 #include "chromecast/media/base/video_resolution_policy.h"
 #include "chromecast/media/cdm/cast_cdm_context.h"
@@ -18,7 +17,6 @@
 #include "chromecast/media/cma/pipeline/video_pipeline_client.h"
 #include "chromecast/public/media/media_pipeline_backend.h"
 #include "chromecast/public/media/media_pipeline_device_params.h"
-#include "media/audio/audio_device_description.h"
 #include "media/base/audio_decoder_config.h"
 #include "media/base/demuxer_stream.h"
 #include "media/base/media_log.h"
@@ -94,20 +92,7 @@
       (load_type == kLoadTypeMediaStream)
           ? MediaPipelineDeviceParams::kModeIgnorePts
           : MediaPipelineDeviceParams::kModeSyncPts;
-  std::string device_id = audio_device_id_;
-  if (device_id == "")
-    device_id = ::media::AudioDeviceDescription::kDefaultDeviceId;
-
-  MediaPipelineDeviceParams params(
-      sync_type, MediaPipelineDeviceParams::kAudioStreamNormal, device_id,
-      backend_task_runner_.get());
-
-  if (audio_device_id_ == kTtsAudioDeviceId ||
-      audio_device_id_ ==
-          ::media::AudioDeviceDescription::kCommunicationsDeviceId) {
-    load_type = kLoadTypeCommunication;
-  }
-
+  MediaPipelineDeviceParams params(sync_type, backend_task_runner_.get());
   std::unique_ptr<MediaPipelineBackend> backend =
       backend_factory_->CreateBackend(params, audio_device_id_);
 
diff --git a/chromecast/public/media/media_pipeline_device_params.h b/chromecast/public/media/media_pipeline_device_params.h
index 4e1a64d..680da27 100644
--- a/chromecast/public/media/media_pipeline_device_params.h
+++ b/chromecast/public/media/media_pipeline_device_params.h
@@ -55,20 +55,8 @@
         audio_type(audio_type_in),
         task_runner(task_runner_in) {}
 
-  // |device_id_in| should be from media/audio/audio_device_description.h or
-  // chromecast/media/base/audio_device_ids.h
-  MediaPipelineDeviceParams(MediaSyncType sync_type_in,
-                            AudioStreamType audio_type_in,
-                            const std::string& device_id_in,
-                            TaskRunner* task_runner_in)
-      : sync_type(sync_type_in),
-        audio_type(audio_type_in),
-        device_id(device_id_in),
-        task_runner(task_runner_in) {}
-
   const MediaSyncType sync_type;
   const AudioStreamType audio_type;
-  const std::string device_id;
 
   // task_runner allows backend implementations to post tasks to the media
   // thread.  Since all calls from cast_shell into the backend are made on
diff --git a/chromeos/dbus/fake_session_manager_client.cc b/chromeos/dbus/fake_session_manager_client.cc
index 5cc0066..d0355fc 100644
--- a/chromeos/dbus/fake_session_manager_client.cc
+++ b/chromeos/dbus/fake_session_manager_client.cc
@@ -98,6 +98,10 @@
       FROM_HERE, base::Bind(callback, device_policy_));
 }
 
+std::string FakeSessionManagerClient::BlockingRetrieveDevicePolicy() {
+  return device_policy_;
+}
+
 void FakeSessionManagerClient::RetrievePolicyForUser(
     const cryptohome::Identification& cryptohome_id,
     const RetrievePolicyCallback& callback) {
@@ -118,6 +122,11 @@
       base::Bind(callback, device_local_account_policy_[account_id]));
 }
 
+std::string FakeSessionManagerClient::BlockingRetrieveDeviceLocalAccountPolicy(
+    const std::string& account_id) {
+  return device_local_account_policy_[account_id];
+}
+
 void FakeSessionManagerClient::StoreDevicePolicy(
     const std::string& policy_blob,
     const StorePolicyCallback& callback) {
diff --git a/chromeos/dbus/fake_session_manager_client.h b/chromeos/dbus/fake_session_manager_client.h
index 237cf7c..2e9d31e 100644
--- a/chromeos/dbus/fake_session_manager_client.h
+++ b/chromeos/dbus/fake_session_manager_client.h
@@ -45,6 +45,7 @@
   void NotifyLockScreenDismissed() override;
   void RetrieveActiveSessions(const ActiveSessionsCallback& callback) override;
   void RetrieveDevicePolicy(const RetrievePolicyCallback& callback) override;
+  std::string BlockingRetrieveDevicePolicy() override;
   void RetrievePolicyForUser(const cryptohome::Identification& cryptohome_id,
                              const RetrievePolicyCallback& callback) override;
   std::string BlockingRetrievePolicyForUser(
@@ -52,6 +53,8 @@
   void RetrieveDeviceLocalAccountPolicy(
       const std::string& account_id,
       const RetrievePolicyCallback& callback) override;
+  std::string BlockingRetrieveDeviceLocalAccountPolicy(
+      const std::string& account_id) override;
   void StoreDevicePolicy(const std::string& policy_blob,
                          const StorePolicyCallback& callback) override;
   void StorePolicyForUser(const cryptohome::Identification& cryptohome_id,
diff --git a/chromeos/dbus/mock_session_manager_client.h b/chromeos/dbus/mock_session_manager_client.h
index 8fd00570..82b568ee 100644
--- a/chromeos/dbus/mock_session_manager_client.h
+++ b/chromeos/dbus/mock_session_manager_client.h
@@ -40,6 +40,7 @@
   MOCK_METHOD0(NotifyLockScreenDismissed, void(void));
   MOCK_METHOD1(RetrieveActiveSessions, void(const ActiveSessionsCallback&));
   MOCK_METHOD1(RetrieveDevicePolicy, void(const RetrievePolicyCallback&));
+  MOCK_METHOD0(BlockingRetrieveDevicePolicy, std::string(void));
   MOCK_METHOD2(RetrievePolicyForUser,
                void(const cryptohome::Identification&,
                     const RetrievePolicyCallback&));
@@ -48,6 +49,8 @@
   MOCK_METHOD2(RetrieveDeviceLocalAccountPolicy,
                void(const std::string&,
                     const RetrievePolicyCallback&));
+  MOCK_METHOD1(BlockingRetrieveDeviceLocalAccountPolicy,
+               std::string(const std::string&));
   MOCK_METHOD2(StoreDevicePolicy,
                void(const std::string&,
                     const StorePolicyCallback&));
diff --git a/chromeos/dbus/session_manager_client.cc b/chromeos/dbus/session_manager_client.cc
index dd5c642a..9e87be8 100644
--- a/chromeos/dbus/session_manager_client.cc
+++ b/chromeos/dbus/session_manager_client.cc
@@ -40,6 +40,9 @@
 constexpr char kArcLowDiskError[] =
     "org.chromium.SessionManagerInterface.LowFreeDisk";
 
+constexpr char kStubPolicyFile[] = "stub_policy";
+constexpr char kStubDevicePolicyFile[] = "stub_device_policy";
+
 // Returns a location for |file| that is specific to the given |cryptohome_id|.
 // These paths will be relative to DIR_USER_POLICY_KEYS, and can be used only
 // to store stub files.
@@ -208,6 +211,17 @@
                    callback));
   }
 
+  std::string BlockingRetrieveDevicePolicy() override {
+    dbus::MethodCall method_call(login_manager::kSessionManagerInterface,
+                                 login_manager::kSessionManagerRetrievePolicy);
+    std::unique_ptr<dbus::Response> response =
+        blocking_method_caller_->CallMethodAndBlock(&method_call);
+    std::string policy;
+    ExtractString(login_manager::kSessionManagerRetrievePolicy, response.get(),
+                  &policy);
+    return policy;
+  }
+
   void RetrievePolicyForUser(const cryptohome::Identification& cryptohome_id,
                              const RetrievePolicyCallback& callback) override {
     CallRetrievePolicyByUsername(
@@ -240,6 +254,22 @@
         callback);
   }
 
+  std::string BlockingRetrieveDeviceLocalAccountPolicy(
+      const std::string& account_name) override {
+    dbus::MethodCall method_call(
+        login_manager::kSessionManagerInterface,
+        login_manager::kSessionManagerRetrieveDeviceLocalAccountPolicy);
+    dbus::MessageWriter writer(&method_call);
+    writer.AppendString(account_name);
+    std::unique_ptr<dbus::Response> response =
+        blocking_method_caller_->CallMethodAndBlock(&method_call);
+    std::string policy;
+    ExtractString(
+        login_manager::kSessionManagerRetrieveDeviceLocalAccountPolicy,
+        response.get(), &policy);
+    return policy;
+  }
+
   void StoreDevicePolicy(const std::string& policy_blob,
                          const StorePolicyCallback& callback) override {
     dbus::MethodCall method_call(login_manager::kSessionManagerInterface,
@@ -835,7 +865,7 @@
       return;
     }
     base::FilePath device_policy_path =
-        owner_key_path.DirName().AppendASCII("stub_device_policy");
+        owner_key_path.DirName().AppendASCII(kStubDevicePolicyFile);
     base::PostTaskWithTraitsAndReplyWithResult(
         FROM_HERE, base::TaskTraits()
                        .WithShutdownBehavior(
@@ -843,20 +873,30 @@
                        .MayBlock(),
         base::Bind(&GetFileContent, device_policy_path), callback);
   }
+  std::string BlockingRetrieveDevicePolicy() override {
+    base::FilePath owner_key_path;
+    if (!PathService::Get(chromeos::FILE_OWNER_KEY, &owner_key_path)) {
+      return "";
+    }
+    base::FilePath device_policy_path =
+        owner_key_path.DirName().AppendASCII(kStubDevicePolicyFile);
+    return GetFileContent(device_policy_path);
+  }
   void RetrievePolicyForUser(const cryptohome::Identification& cryptohome_id,
                              const RetrievePolicyCallback& callback) override {
     base::PostTaskWithTraitsAndReplyWithResult(
-        FROM_HERE, base::TaskTraits()
-                       .WithShutdownBehavior(
-                           base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN)
-                       .MayBlock(),
+        FROM_HERE,
+        base::TaskTraits()
+            .WithShutdownBehavior(
+                base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN)
+            .MayBlock(),
         base::Bind(&GetFileContent,
-                   GetUserFilePath(cryptohome_id, "stub_policy")),
+                   GetUserFilePath(cryptohome_id, kStubPolicyFile)),
         callback);
   }
   std::string BlockingRetrievePolicyForUser(
       const cryptohome::Identification& cryptohome_id) override {
-    return GetFileContent(GetUserFilePath(cryptohome_id, "stub_policy"));
+    return GetFileContent(GetUserFilePath(cryptohome_id, kStubPolicyFile));
   }
   void RetrieveDeviceLocalAccountPolicy(
       const std::string& account_id,
@@ -864,6 +904,11 @@
     RetrievePolicyForUser(cryptohome::Identification::FromString(account_id),
                           callback);
   }
+  std::string BlockingRetrieveDeviceLocalAccountPolicy(
+      const std::string& account_id) override {
+    return BlockingRetrievePolicyForUser(
+        cryptohome::Identification::FromString(account_id));
+  }
   void StoreDevicePolicy(const std::string& policy_blob,
                          const StorePolicyCallback& callback) override {
     enterprise_management::PolicyFetchResponse response;
@@ -889,7 +934,7 @@
     // Note also that the owner key will be written before the device policy,
     // if it was present in the blob.
     base::FilePath device_policy_path =
-        owner_key_path.DirName().AppendASCII("stub_device_policy");
+        owner_key_path.DirName().AppendASCII(kStubDevicePolicyFile);
     base::PostTaskWithTraitsAndReply(
         FROM_HERE, base::TaskTraits()
                        .WithShutdownBehavior(
@@ -923,7 +968,7 @@
     // This file isn't read directly by Chrome, but is used by this class to
     // reload the user policy across restarts.
     base::FilePath stub_policy_path =
-        GetUserFilePath(cryptohome_id, "stub_policy");
+        GetUserFilePath(cryptohome_id, kStubPolicyFile);
     base::PostTaskWithTraitsAndReply(
         FROM_HERE, base::TaskTraits()
                        .WithShutdownBehavior(
diff --git a/chromeos/dbus/session_manager_client.h b/chromeos/dbus/session_manager_client.h
index 372890a4..b294b761 100644
--- a/chromeos/dbus/session_manager_client.h
+++ b/chromeos/dbus/session_manager_client.h
@@ -151,6 +151,15 @@
   // completion of the retrieve attempt, we will call the provided callback.
   virtual void RetrieveDevicePolicy(const RetrievePolicyCallback& callback) = 0;
 
+  // Same as RetrieveDevicePolicy() but blocks until a reply is received, and
+  // returns the policy synchronously. Returns an empty string if the method
+  // call fails.
+  // This may only be called in situations where blocking the UI thread is
+  // considered acceptable (e.g. restarting the browser after a crash or after
+  // a flag change).
+  // TODO: Get rid of blocking calls (crbug.com/160522).
+  virtual std::string BlockingRetrieveDevicePolicy() = 0;
+
   // Fetches the user policy blob stored by the session manager for the given
   // |cryptohome_id|. Upon completion of the retrieve attempt, we will call the
   // provided callback.
@@ -164,6 +173,7 @@
   // This may only be called in situations where blocking the UI thread is
   // considered acceptable (e.g. restarting the browser after a crash or after
   // a flag change).
+  // TODO: Get rid of blocking calls (crbug.com/160522).
   virtual std::string BlockingRetrievePolicyForUser(
       const cryptohome::Identification& cryptohome_id) = 0;
 
@@ -173,6 +183,16 @@
       const std::string& account_id,
       const RetrievePolicyCallback& callback) = 0;
 
+  // Same as RetrieveDeviceLocalAccountPolicy() but blocks until a reply is
+  // received, and returns the policy synchronously.
+  // Returns an empty string if the method call fails.
+  // This may only be called in situations where blocking the UI thread is
+  // considered acceptable (e.g. restarting the browser after a crash or after
+  // a flag change).
+  // TODO: Get rid of blocking calls (crbug.com/160522).
+  virtual std::string BlockingRetrieveDeviceLocalAccountPolicy(
+      const std::string& account_id) = 0;
+
   // Used for StoreDevicePolicy, StorePolicyForUser and
   // StoreDeviceLocalAccountPolicy. Takes a boolean indicating whether the
   // operation was successful or not.
diff --git a/components/browser_sync/profile_sync_service.cc b/components/browser_sync/profile_sync_service.cc
index 2909868..7280c42 100644
--- a/components/browser_sync/profile_sync_service.cc
+++ b/components/browser_sync/profile_sync_service.cc
@@ -1518,7 +1518,9 @@
       };
 
   static_assert(39 == syncer::MODEL_TYPE_COUNT,
-                "custom config histogram must be updated");
+                "If adding a user selectable type, update "
+                "UserSelectableSyncType in user_selectable_sync_type.h and "
+                "histograms.xml.");
 
   if (!sync_everything) {
     const syncer::ModelTypeSet current_types = GetPreferredDataTypes();
diff --git a/components/component_updater/configurator_impl.cc b/components/component_updater/configurator_impl.cc
index db67906..68b86ff2 100644
--- a/components/component_updater/configurator_impl.cc
+++ b/components/component_updater/configurator_impl.cc
@@ -130,7 +130,7 @@
 }
 
 int ConfiguratorImpl::NextCheckDelay() const {
-  return 6 * kDelayOneHour;
+  return 5 * kDelayOneHour;
 }
 
 int ConfiguratorImpl::StepDelay() const {
diff --git a/components/component_updater/configurator_impl_unittest.cc b/components/component_updater/configurator_impl_unittest.cc
index ec0c1cd..401c48d 100644
--- a/components/component_updater/configurator_impl_unittest.cc
+++ b/components/component_updater/configurator_impl_unittest.cc
@@ -35,7 +35,7 @@
   std::unique_ptr<ConfiguratorImpl> config(
       new ConfiguratorImpl(&cmdline, nullptr, false));
   CHECK_EQ(6 * kDelayOneMinute, config->InitialDelay());
-  CHECK_EQ(6 * kDelayOneHour, config->NextCheckDelay());
+  CHECK_EQ(5 * kDelayOneHour, config->NextCheckDelay());
   CHECK_EQ(1, config->StepDelay());
   CHECK_EQ(30 * kDelayOneMinute, config->OnDemandDelay());
   CHECK_EQ(15 * kDelayOneMinute, config->UpdateDelay());
@@ -44,7 +44,7 @@
   cmdline.AppendSwitchASCII("--component-updater", "fast-update");
   config.reset(new ConfiguratorImpl(&cmdline, nullptr, false));
   CHECK_EQ(10, config->InitialDelay());
-  CHECK_EQ(6 * kDelayOneHour, config->NextCheckDelay());
+  CHECK_EQ(5 * kDelayOneHour, config->NextCheckDelay());
   CHECK_EQ(1, config->StepDelay());
   CHECK_EQ(2, config->OnDemandDelay());
   CHECK_EQ(10, config->UpdateDelay());
diff --git a/components/omnibox/browser/autocomplete_match.cc b/components/omnibox/browser/autocomplete_match.cc
index bb65962..9d9c7ea 100644
--- a/components/omnibox/browser/autocomplete_match.cc
+++ b/components/omnibox/browser/autocomplete_match.cc
@@ -4,7 +4,9 @@
 
 #include "components/omnibox/browser/autocomplete_match.h"
 
-#include "base/i18n/time_formatting.h"
+#include <algorithm>
+#include <utility>
+
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/strings/string16.h"
@@ -12,7 +14,7 @@
 #include "base/strings/string_piece.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
-#include "base/strings/utf_string_conversions.h"
+#include "base/strings/stringprintf.h"
 #include "base/time/time.h"
 #include "build/build_config.h"
 #include "components/omnibox/browser/autocomplete_provider.h"
@@ -545,10 +547,10 @@
 }
 
 void AutocompleteMatch::RecordAdditionalInfo(const std::string& property,
-                                             const base::Time& value) {
-  RecordAdditionalInfo(property,
-                       base::UTF16ToUTF8(
-                           base::TimeFormatShortDateAndTime(value)));
+                                             base::Time value) {
+  RecordAdditionalInfo(
+      property, base::StringPrintf("%d hours ago",
+                                   (base::Time::Now() - value).InHours()));
 }
 
 std::string AutocompleteMatch::GetAdditionalInfo(
diff --git a/components/omnibox/browser/autocomplete_match.h b/components/omnibox/browser/autocomplete_match.h
index d237d2c..9ab496c 100644
--- a/components/omnibox/browser/autocomplete_match.h
+++ b/components/omnibox/browser/autocomplete_match.h
@@ -258,8 +258,7 @@
   void RecordAdditionalInfo(const std::string& property,
                             const std::string& value);
   void RecordAdditionalInfo(const std::string& property, int value);
-  void RecordAdditionalInfo(const std::string& property,
-                            const base::Time& value);
+  void RecordAdditionalInfo(const std::string& property, base::Time value);
 
   // Returns the value recorded for |property| in the |additional_info|
   // dictionary.  Returns the empty string if no such value exists.
diff --git a/components/sync/base/enum_set.h b/components/sync/base/enum_set.h
index 1000956..c6e7b77 100644
--- a/components/sync/base/enum_set.h
+++ b/components/sync/base/enum_set.h
@@ -117,21 +117,12 @@
     size_t i_;
   };
 
-  // You can construct an EnumSet with 0, 1, 2, or 3 initial values.
-
   EnumSet() {}
 
-  explicit EnumSet(E value) { Put(value); }
-
-  EnumSet(E value1, E value2) {
-    Put(value1);
-    Put(value2);
-  }
-
-  EnumSet(E value1, E value2, E value3) {
-    Put(value1);
-    Put(value2);
-    Put(value3);
+  // Recursively chain constructors. Base case is the empty pack.
+  template <class... T>
+  EnumSet(E head, T... tail) : EnumSet(tail...) {
+    Put(head);
   }
 
   // Returns an EnumSet with all possible values.
@@ -141,6 +132,13 @@
     return EnumSet(enums);
   }
 
+  // Returns an EnumSet with all the values from start to end, inclusive.
+  static EnumSet FromRange(E start, E end) {
+    EnumSet set;
+    set.PutRange(start, end);
+    return set;
+  }
+
   ~EnumSet() {}
 
   // Copy constructor and assignment welcome.
@@ -155,6 +153,16 @@
   // Adds all values in the given set to our set.
   void PutAll(EnumSet other) { enums_ |= other.enums_; }
 
+  // Adds all values in the given range to our set, inclusive.
+  void PutRange(E start, E end) {
+    size_t endIndexInclusive = ToIndex(end);
+    DCHECK_LE(ToIndex(start), endIndexInclusive);
+    for (size_t current = ToIndex(start); current <= endIndexInclusive;
+         ++current) {
+      enums_.set(current);
+    }
+  }
+
   // There's no real need for a Retain(E) member function.
 
   // Removes all values not in the given set from our set.
diff --git a/components/sync/base/enum_set_unittest.cc b/components/sync/base/enum_set_unittest.cc
index e6293f9..8f32c7f 100644
--- a/components/sync/base/enum_set_unittest.cc
+++ b/components/sync/base/enum_set_unittest.cc
@@ -77,6 +77,11 @@
   EXPECT_FALSE(enums.Has(TEST_4));
 }
 
+TEST_F(EnumSetTest, DuplicatesInConstructor) {
+  EXPECT_EQ(TestEnumSet(TEST_3, TEST_1, TEST_0, TEST_3, TEST_1, TEST_3),
+            TestEnumSet(TEST_0, TEST_1, TEST_3));
+}
+
 TEST_F(EnumSetTest, All) {
   const TestEnumSet enums(TestEnumSet::All());
   EXPECT_FALSE(enums.Empty());
@@ -88,6 +93,13 @@
   EXPECT_TRUE(enums.Has(TEST_4));
 }
 
+TEST_F(EnumSetTest, FromRange) {
+  EXPECT_EQ(TestEnumSet(TEST_1, TEST_2, TEST_3),
+            TestEnumSet::FromRange(TEST_1, TEST_3));
+  EXPECT_EQ(TestEnumSet::All(), TestEnumSet::FromRange(TEST_0, TEST_4));
+  EXPECT_EQ(TestEnumSet(TEST_1), TestEnumSet::FromRange(TEST_1, TEST_1));
+}
+
 TEST_F(EnumSetTest, Put) {
   TestEnumSet enums(TEST_3);
   enums.Put(TEST_2);
@@ -102,6 +114,12 @@
   EXPECT_EQ(TestEnumSet(TEST_2, TEST_3, TEST_4), enums);
 }
 
+TEST_F(EnumSetTest, PutRange) {
+  TestEnumSet enums;
+  enums.PutRange(TEST_1, TEST_3);
+  EXPECT_EQ(TestEnumSet(TEST_1, TEST_2, TEST_3), enums);
+}
+
 TEST_F(EnumSetTest, RetainAll) {
   TestEnumSet enums(TEST_3, TEST_4);
   enums.RetainAll(TestEnumSet(TEST_2, TEST_3));
diff --git a/components/sync/base/model_type.h b/components/sync/base/model_type.h
index 6525c6a2..c2840f1 100644
--- a/components/sync/base/model_type.h
+++ b/components/sync/base/model_type.h
@@ -89,14 +89,14 @@
   APP_SETTINGS,
   // An extension setting from the extension settings API.
   EXTENSION_SETTINGS,
-  // App notifications.
-  APP_NOTIFICATIONS,  // Deprecated.
+  // App notifications. Deprecated.
+  APP_NOTIFICATIONS,
   // History delete directives.
   HISTORY_DELETE_DIRECTIVES,
-  // Synced push notifications.
-  SYNCED_NOTIFICATIONS,  // Deprecated.
-  // Synced Notification app info.
-  SYNCED_NOTIFICATION_APP_INFO,  // Deprecated.
+  // Synced push notifications. Deprecated.
+  SYNCED_NOTIFICATIONS,
+  // Synced Notification app info. Deprecated.
+  SYNCED_NOTIFICATION_APP_INFO,
   // Custom spelling dictionary.
   DICTIONARY,
   // Favicon images.
@@ -161,6 +161,9 @@
   // histograms for sync include your new type.  In this case, be sure to also
   // update the UserSelectableTypes() definition in
   // sync/syncable/model_type.cc.
+
+  // Additionally, enum SyncModelTypes and suffix SyncModelType need to be
+  // updated in histograms.xml for all new types.
   MODEL_TYPE_COUNT,
 };
 
@@ -175,9 +178,8 @@
   return static_cast<ModelType>(i);
 }
 
-// Used by tests outside of sync/.
-void AddDefaultFieldValue(ModelType datatype,
-                          sync_pb::EntitySpecifics* specifics);
+// Used to mark the type of EntitySpecifics that has no actual data.
+void AddDefaultFieldValue(ModelType type, sync_pb::EntitySpecifics* specifics);
 
 // Extract the model type of a SyncEntity protocol buffer.  ModelType is a
 // local concept: the enum is not in the protocol.  The SyncEntity's ModelType
diff --git a/components/sync/base/sync_prefs.cc b/components/sync/base/sync_prefs.cc
index 025f4e2..3063f7c8 100644
--- a/components/sync/base/sync_prefs.cc
+++ b/components/sync/base/sync_prefs.cc
@@ -252,18 +252,21 @@
 }
 
 // static
-const char* SyncPrefs::GetPrefNameForDataType(ModelType data_type) {
-  switch (data_type) {
+const char* SyncPrefs::GetPrefNameForDataType(ModelType type) {
+  switch (type) {
+    case UNSPECIFIED:
+    case TOP_LEVEL_FOLDER:
+      break;
     case BOOKMARKS:
       return prefs::kSyncBookmarks;
-    case PASSWORDS:
-      return prefs::kSyncPasswords;
     case PREFERENCES:
       return prefs::kSyncPreferences;
-    case AUTOFILL:
-      return prefs::kSyncAutofill;
+    case PASSWORDS:
+      return prefs::kSyncPasswords;
     case AUTOFILL_PROFILE:
       return prefs::kSyncAutofillProfile;
+    case AUTOFILL:
+      return prefs::kSyncAutofill;
     case AUTOFILL_WALLET_DATA:
       return prefs::kSyncAutofillWallet;
     case AUTOFILL_WALLET_METADATA:
@@ -272,20 +275,18 @@
       return prefs::kSyncThemes;
     case TYPED_URLS:
       return prefs::kSyncTypedUrls;
-    case EXTENSION_SETTINGS:
-      return prefs::kSyncExtensionSettings;
     case EXTENSIONS:
       return prefs::kSyncExtensions;
-    case APP_LIST:
-      return prefs::kSyncAppList;
-    case APP_SETTINGS:
-      return prefs::kSyncAppSettings;
-    case APPS:
-      return prefs::kSyncApps;
     case SEARCH_ENGINES:
       return prefs::kSyncSearchEngines;
     case SESSIONS:
       return prefs::kSyncSessions;
+    case APPS:
+      return prefs::kSyncApps;
+    case APP_SETTINGS:
+      return prefs::kSyncAppSettings;
+    case EXTENSION_SETTINGS:
+      return prefs::kSyncExtensionSettings;
     case APP_NOTIFICATIONS:
       return prefs::kSyncAppNotifications;
     case HISTORY_DELETE_DIRECTIVES:
@@ -300,34 +301,38 @@
       return prefs::kSyncFaviconImages;
     case FAVICON_TRACKING:
       return prefs::kSyncFaviconTracking;
-    case SUPERVISED_USER_SETTINGS:
-      return prefs::kSyncSupervisedUserSettings;
-    case PROXY_TABS:
-      return prefs::kSyncTabs;
-    case PRIORITY_PREFERENCES:
-      return prefs::kSyncPriorityPreferences;
-    case SUPERVISED_USERS:
-      return prefs::kSyncSupervisedUsers;
-    case ARTICLES:
-      return prefs::kSyncArticles;
-    case SUPERVISED_USER_SHARED_SETTINGS:
-      return prefs::kSyncSupervisedUserSharedSettings;
-    case SUPERVISED_USER_WHITELISTS:
-      return prefs::kSyncSupervisedUserWhitelists;
     case DEVICE_INFO:
       return prefs::kSyncDeviceInfo;
+    case PRIORITY_PREFERENCES:
+      return prefs::kSyncPriorityPreferences;
+    case SUPERVISED_USER_SETTINGS:
+      return prefs::kSyncSupervisedUserSettings;
+    case SUPERVISED_USERS:
+      return prefs::kSyncSupervisedUsers;
+    case SUPERVISED_USER_SHARED_SETTINGS:
+      return prefs::kSyncSupervisedUserSharedSettings;
+    case ARTICLES:
+      return prefs::kSyncArticles;
+    case APP_LIST:
+      return prefs::kSyncAppList;
     case WIFI_CREDENTIALS:
       return prefs::kSyncWifiCredentials;
+    case SUPERVISED_USER_WHITELISTS:
+      return prefs::kSyncSupervisedUserWhitelists;
     case ARC_PACKAGE:
       return prefs::kSyncArcPackage;
     case PRINTERS:
       return prefs::kSyncPrinters;
     case READING_LIST:
       return prefs::kSyncReadingList;
-    default:
+    case PROXY_TABS:
+      return prefs::kSyncTabs;
+    case NIGORI:
+    case EXPERIMENTS:
+    case MODEL_TYPE_COUNT:
       break;
   }
-  NOTREACHED() << "Type is " << data_type;
+  NOTREACHED() << "No pref mapping for type " << ModelTypeToString(type);
   return nullptr;
 }
 
diff --git a/components/sync/base/sync_prefs.h b/components/sync/base/sync_prefs.h
index 5270150..4f60110c 100644
--- a/components/sync/base/sync_prefs.h
+++ b/components/sync/base/sync_prefs.h
@@ -122,8 +122,8 @@
   std::string GetSyncSessionsGUID() const;
   void SetSyncSessionsGUID(const std::string& guid);
 
-  // Maps |data_type| to its corresponding preference name.
-  static const char* GetPrefNameForDataType(ModelType data_type);
+  // Maps |type| to its corresponding preference name.
+  static const char* GetPrefNameForDataType(ModelType type);
 
 #if defined(OS_CHROMEOS)
   // Use this spare bootstrap token only when setting up sync for the first
diff --git a/components/sync/driver/model_association_manager.cc b/components/sync/driver/model_association_manager.cc
index 41d5331..3047ab74 100644
--- a/components/sync/driver/model_association_manager.cc
+++ b/components/sync/driver/model_association_manager.cc
@@ -48,8 +48,7 @@
 
 static_assert(arraysize(kStartOrder) ==
                   MODEL_TYPE_COUNT - FIRST_REAL_MODEL_TYPE,
-              "kStartOrder must have MODEL_TYPE_COUNT - "
-              "FIRST_REAL_MODEL_TYPE elements");
+              "When adding a new type, update kStartOrder.");
 
 // The amount of time we wait for association to finish. If some types haven't
 // finished association by the time, DataTypeManager is notified of the
diff --git a/components/sync/driver/user_selectable_sync_type.h b/components/sync/driver/user_selectable_sync_type.h
index 95600c9..60ddbbb 100644
--- a/components/sync/driver/user_selectable_sync_type.h
+++ b/components/sync/driver/user_selectable_sync_type.h
@@ -12,10 +12,12 @@
 // via checkboxes in the "Advanced Sync Preferences" dialog. Used solely for the
 // purposes of UMA histogram logging of the datatypes explicitly selected by
 // users when sync is configured on a machine. This is a subset of the sync
-// types listed in sync/base/model_type.h.
+// types listed in sync/base/model_type.h and dependent types are controlled by
+// data setup up in SyncPrefs::RegisterPrefGroups().
 //
-// Note: New sync datatypes must be added to the end of this list. Adding them
-// anywhere else will result in incorrect histogram logging.
+// Note: New sync datatypes must be added to the end of this list. The values
+// need to match the corresponding enum type in histograms.xml with the same
+// name, which also needs to be updated when changing this.
 
 // THIS ENUM IS MEANT SOLELY FOR THE PURPOSE OF HISTOGRAM LOGGING. IF YOU ARE
 // LOOKING TO MODIFY SYNC FUNCTIONALITY AND NEED A LIST OF SYNC TYPES, USE
@@ -31,37 +33,12 @@
   EXTENSIONS = 6,
   PROXY_TABS = 7,
   APPS = 8,
-  // TODO(petewil): There was talk of removing this from user selectable sync
-  // types.  Should we?
   SYNCED_NOTIFICATIONS = 9,
   WIFI_CREDENTIAL = 10,
-
   READING_LIST = 11,
 
-  // The datatypes below are implicitly synced, and are not exposed via user
-  // selectable checkboxes.
   // TODO(lgcheng) ARC_PACKAGE would be selectable.
 
-  // AUTOFILL_PROFILE,
-  // NIGORI,
-  // DICTIONARY
-  // SEARCH_ENGINES,
-  // APP_LIST,
-  // APP_SETTINGS,
-  // EXTENSION_SETTINGS,
-  // APP_NOTIFICATIONS,
-  // DEVICE_INFO,
-  // EXPERIMENTS,
-  // PRIORITY_PREFERENCES,
-  // SESSIONS,
-  // HISTORY_DELETE_DIRECTIVES,
-  // FAVICON_IMAGES,
-  // FAVICON_TRACKING,
-  // ARTICLE,
-  // SYNCED_NOTIFICATION_APP_INFO,
-  // ARC_PACKAGE,
-  // PRINTERS
-
   // Number of sync datatypes exposed to the user via checboxes in the UI.
   SELECTABLE_DATATYPE_COUNT = 12,
 };
diff --git a/components/sync/syncable/model_type.cc b/components/sync/syncable/model_type.cc
index 363c848..9c404a5 100644
--- a/components/sync/syncable/model_type.cc
+++ b/components/sync/syncable/model_type.cc
@@ -163,32 +163,27 @@
     "tabs",
 };
 
-static_assert(
-    39 == MODEL_TYPE_COUNT,
-    "update kUserSelectableDataTypeName to match UserSelectableTypes");
-
-void AddDefaultFieldValue(ModelType datatype,
-                          sync_pb::EntitySpecifics* specifics) {
-  if (!ProtocolTypes().Has(datatype)) {
-    NOTREACHED() << "Only protocol types have field values.";
-    return;
-  }
-  switch (datatype) {
+void AddDefaultFieldValue(ModelType type, sync_pb::EntitySpecifics* specifics) {
+  switch (type) {
+    case UNSPECIFIED:
+    case TOP_LEVEL_FOLDER:
+      NOTREACHED() << "No default field value for " << ModelTypeToString(type);
+      break;
     case BOOKMARKS:
       specifics->mutable_bookmark();
       break;
-    case PASSWORDS:
-      specifics->mutable_password();
-      break;
     case PREFERENCES:
       specifics->mutable_preference();
       break;
-    case AUTOFILL:
-      specifics->mutable_autofill();
+    case PASSWORDS:
+      specifics->mutable_password();
       break;
     case AUTOFILL_PROFILE:
       specifics->mutable_autofill_profile();
       break;
+    case AUTOFILL:
+      specifics->mutable_autofill();
+      break;
     case AUTOFILL_WALLET_DATA:
       specifics->mutable_autofill_wallet();
       break;
@@ -204,9 +199,6 @@
     case EXTENSIONS:
       specifics->mutable_extension();
       break;
-    case NIGORI:
-      specifics->mutable_nigori();
-      break;
     case SEARCH_ENGINES:
       specifics->mutable_search_engine();
       break;
@@ -216,15 +208,9 @@
     case APPS:
       specifics->mutable_app();
       break;
-    case APP_LIST:
-      specifics->mutable_app_list();
-      break;
     case APP_SETTINGS:
       specifics->mutable_app_setting();
       break;
-    case ARC_PACKAGE:
-      specifics->mutable_arc_package();
-      break;
     case EXTENSION_SETTINGS:
       specifics->mutable_extension_setting();
       break;
@@ -240,18 +226,6 @@
     case SYNCED_NOTIFICATION_APP_INFO:
       specifics->mutable_synced_notification_app_info();
       break;
-    case DEVICE_INFO:
-      specifics->mutable_device_info();
-      break;
-    case EXPERIMENTS:
-      specifics->mutable_experiments();
-      break;
-    case PRINTERS:
-      specifics->mutable_printer();
-      break;
-    case PRIORITY_PREFERENCES:
-      specifics->mutable_priority_preference();
-      break;
     case DICTIONARY:
       specifics->mutable_dictionary();
       break;
@@ -261,6 +235,12 @@
     case FAVICON_TRACKING:
       specifics->mutable_favicon_tracking();
       break;
+    case DEVICE_INFO:
+      specifics->mutable_device_info();
+      break;
+    case PRIORITY_PREFERENCES:
+      specifics->mutable_priority_preference();
+      break;
     case SUPERVISED_USER_SETTINGS:
       specifics->mutable_managed_user_setting();
       break;
@@ -269,21 +249,39 @@
       break;
     case SUPERVISED_USER_SHARED_SETTINGS:
       specifics->mutable_managed_user_shared_setting();
-      break;
-    case SUPERVISED_USER_WHITELISTS:
-      specifics->mutable_managed_user_whitelist();
-      break;
     case ARTICLES:
       specifics->mutable_article();
       break;
+    case APP_LIST:
+      specifics->mutable_app_list();
+      break;
     case WIFI_CREDENTIALS:
       specifics->mutable_wifi_credential();
       break;
+    case SUPERVISED_USER_WHITELISTS:
+      specifics->mutable_managed_user_whitelist();
+      break;
+    case ARC_PACKAGE:
+      specifics->mutable_arc_package();
+      break;
+    case PRINTERS:
+      specifics->mutable_printer();
+      break;
     case READING_LIST:
       specifics->mutable_reading_list();
       break;
-    default:
-      NOTREACHED() << "No known extension for model type.";
+    case PROXY_TABS:
+      NOTREACHED() << "No default field value for " << ModelTypeToString(type);
+      break;
+    case NIGORI:
+      specifics->mutable_nigori();
+      break;
+    case EXPERIMENTS:
+      specifics->mutable_experiments();
+      break;
+    case MODEL_TYPE_COUNT:
+      NOTREACHED() << "No default field value for " << ModelTypeToString(type);
+      break;
   }
 }
 
@@ -341,151 +339,102 @@
 }
 
 ModelType GetModelTypeFromSpecifics(const sync_pb::EntitySpecifics& specifics) {
+  static_assert(39 == MODEL_TYPE_COUNT,
+                "When adding new protocol types, the following type lookup "
+                "logic must be updated.");
   if (specifics.has_bookmark())
     return BOOKMARKS;
-
-  if (specifics.has_password())
-    return PASSWORDS;
-
   if (specifics.has_preference())
     return PREFERENCES;
-
-  if (specifics.has_autofill())
-    return AUTOFILL;
-
+  if (specifics.has_password())
+    return PASSWORDS;
   if (specifics.has_autofill_profile())
     return AUTOFILL_PROFILE;
-
+  if (specifics.has_autofill())
+    return AUTOFILL;
   if (specifics.has_autofill_wallet())
     return AUTOFILL_WALLET_DATA;
-
   if (specifics.has_wallet_metadata())
     return AUTOFILL_WALLET_METADATA;
-
   if (specifics.has_theme())
     return THEMES;
-
   if (specifics.has_typed_url())
     return TYPED_URLS;
-
   if (specifics.has_extension())
     return EXTENSIONS;
-
-  if (specifics.has_nigori())
-    return NIGORI;
-
-  if (specifics.has_app())
-    return APPS;
-
-  if (specifics.has_app_list())
-    return APP_LIST;
-
-  if (specifics.has_arc_package())
-    return ARC_PACKAGE;
-
   if (specifics.has_search_engine())
     return SEARCH_ENGINES;
-
   if (specifics.has_session())
     return SESSIONS;
-
+  if (specifics.has_app())
+    return APPS;
   if (specifics.has_app_setting())
     return APP_SETTINGS;
-
   if (specifics.has_extension_setting())
     return EXTENSION_SETTINGS;
-
   if (specifics.has_app_notification())
     return APP_NOTIFICATIONS;
-
-  if (specifics.has_reading_list())
-    return READING_LIST;
-
   if (specifics.has_history_delete_directive())
     return HISTORY_DELETE_DIRECTIVES;
-
   if (specifics.has_synced_notification())
     return SYNCED_NOTIFICATIONS;
-
   if (specifics.has_synced_notification_app_info())
     return SYNCED_NOTIFICATION_APP_INFO;
-
-  if (specifics.has_device_info())
-    return DEVICE_INFO;
-
-  if (specifics.has_experiments())
-    return EXPERIMENTS;
-
-  if (specifics.has_priority_preference())
-    return PRIORITY_PREFERENCES;
-
-  if (specifics.has_printer())
-    return PRINTERS;
-
   if (specifics.has_dictionary())
     return DICTIONARY;
-
   if (specifics.has_favicon_image())
     return FAVICON_IMAGES;
-
   if (specifics.has_favicon_tracking())
     return FAVICON_TRACKING;
-
+  if (specifics.has_device_info())
+    return DEVICE_INFO;
+  if (specifics.has_priority_preference())
+    return PRIORITY_PREFERENCES;
   if (specifics.has_managed_user_setting())
     return SUPERVISED_USER_SETTINGS;
-
   if (specifics.has_managed_user())
     return SUPERVISED_USERS;
-
   if (specifics.has_managed_user_shared_setting())
     return SUPERVISED_USER_SHARED_SETTINGS;
-
-  if (specifics.has_managed_user_whitelist())
-    return SUPERVISED_USER_WHITELISTS;
-
   if (specifics.has_article())
     return ARTICLES;
-
+  if (specifics.has_app_list())
+    return APP_LIST;
   if (specifics.has_wifi_credential())
     return WIFI_CREDENTIALS;
+  if (specifics.has_managed_user_whitelist())
+    return SUPERVISED_USER_WHITELISTS;
+  if (specifics.has_arc_package())
+    return ARC_PACKAGE;
+  if (specifics.has_printer())
+    return PRINTERS;
+  if (specifics.has_reading_list())
+    return READING_LIST;
+  if (specifics.has_nigori())
+    return NIGORI;
+  if (specifics.has_experiments())
+    return EXPERIMENTS;
 
   return UNSPECIFIED;
 }
 
 ModelTypeSet ProtocolTypes() {
-  ModelTypeSet set = ModelTypeSet::All();
-  set.RemoveAll(ProxyTypes());
-  return set;
+  return Difference(ModelTypeSet::All(), ProxyTypes());
 }
 
 ModelTypeSet UserTypes() {
-  ModelTypeSet set;
   // TODO(sync): We should be able to build the actual enumset's internal
-  // bitset value here at compile time, rather than performing an iteration
-  // every time.
-  for (int i = FIRST_USER_MODEL_TYPE; i <= LAST_USER_MODEL_TYPE; ++i) {
-    set.Put(ModelTypeFromInt(i));
-  }
-  return set;
+  // bitset value here at compile time, instead of makes a new one each time.
+  return ModelTypeSet::FromRange(FIRST_USER_MODEL_TYPE, LAST_USER_MODEL_TYPE);
 }
 
 ModelTypeSet UserSelectableTypes() {
-  ModelTypeSet set;
-  // Although the order doesn't technically matter here, it's clearer to keep
-  // these in the same order as their definition in the ModelType enum.
-  set.Put(BOOKMARKS);
-  set.Put(PREFERENCES);
-  set.Put(PASSWORDS);
-  set.Put(AUTOFILL);
-  set.Put(THEMES);
-  set.Put(TYPED_URLS);
-  set.Put(EXTENSIONS);
-  set.Put(APPS);
+  return ModelTypeSet(BOOKMARKS, PREFERENCES, PASSWORDS, AUTOFILL, THEMES,
+                      TYPED_URLS, EXTENSIONS, APPS,
 #if BUILDFLAG(ENABLE_READING_LIST)
-  set.Put(READING_LIST);
+                      READING_LIST,
 #endif
-  set.Put(PROXY_TABS);
-  return set;
+                      PROXY_TABS);
 }
 
 bool IsUserSelectableType(ModelType model_type) {
@@ -505,7 +454,12 @@
 }
 
 ModelTypeSet EncryptableUserTypes() {
+  static_assert(39 == MODEL_TYPE_COUNT,
+                "If adding an unencryptable type, remove from "
+                "encryptable_user_types below.");
   ModelTypeSet encryptable_user_types = UserTypes();
+  // Wallet data is not encrypted since it actually originates on the server.
+  encryptable_user_types.Remove(AUTOFILL_WALLET_DATA);
   // We never encrypt history delete directives.
   encryptable_user_types.Remove(HISTORY_DELETE_DIRECTIVES);
   // Synced notifications are not encrypted since the server must see changes.
@@ -533,8 +487,6 @@
   // Note however that proxy types map to one or more protocol types, which
   // may or may not be encrypted themselves.
   encryptable_user_types.RemoveAll(ProxyTypes());
-  // Wallet data is not encrypted since it actually originates on the server.
-  encryptable_user_types.Remove(AUTOFILL_WALLET_DATA);
   return encryptable_user_types;
 }
 
@@ -543,21 +495,14 @@
 }
 
 ModelTypeSet ControlTypes() {
-  ModelTypeSet set;
   // TODO(sync): We should be able to build the actual enumset's internal
-  // bitset value here at compile time, rather than performing an iteration
-  // every time.
-  for (int i = FIRST_CONTROL_MODEL_TYPE; i <= LAST_CONTROL_MODEL_TYPE; ++i) {
-    set.Put(ModelTypeFromInt(i));
-  }
-
-  return set;
+  // bitset value here at compile time, instead of makes a new one each time.
+  return ModelTypeSet::FromRange(FIRST_CONTROL_MODEL_TYPE,
+                                 LAST_CONTROL_MODEL_TYPE);
 }
 
 ModelTypeSet ProxyTypes() {
-  ModelTypeSet set;
-  set.Put(PROXY_TABS);
-  return set;
+  return ModelTypeSet::FromRange(FIRST_PROXY_TYPE, LAST_PROXY_TYPE);
 }
 
 bool IsControlType(ModelType model_type) {
@@ -565,8 +510,7 @@
 }
 
 ModelTypeSet CoreTypes() {
-  ModelTypeSet result;
-  result.PutAll(PriorityCoreTypes());
+  ModelTypeSet result = PriorityCoreTypes();
 
   // The following are low priority core types.
   result.Put(SYNCED_NOTIFICATIONS);
@@ -578,8 +522,7 @@
 }
 
 ModelTypeSet PriorityCoreTypes() {
-  ModelTypeSet result;
-  result.PutAll(ControlTypes());
+  ModelTypeSet result = ControlTypes();
 
   // The following are non-control core types.
   result.Put(SUPERVISED_USERS);
diff --git a/components/sync/syncable/nigori_util.cc b/components/sync/syncable/nigori_util.cc
index 80538a66..198da2c8 100644
--- a/components/sync/syncable/nigori_util.cc
+++ b/components/sync/syncable/nigori_util.cc
@@ -246,7 +246,8 @@
                                     bool encrypt_everything,
                                     sync_pb::NigoriSpecifics* nigori) {
   nigori->set_encrypt_everything(encrypt_everything);
-  static_assert(39 == MODEL_TYPE_COUNT, "update encrypted types");
+  static_assert(39 == MODEL_TYPE_COUNT,
+                "If adding an encryptable type, update handling below.");
   nigori->set_encrypt_bookmarks(encrypted_types.Has(BOOKMARKS));
   nigori->set_encrypt_preferences(encrypted_types.Has(PREFERENCES));
   nigori->set_encrypt_autofill_profile(encrypted_types.Has(AUTOFILL_PROFILE));
@@ -255,13 +256,13 @@
       encrypted_types.Has(AUTOFILL_WALLET_METADATA));
   nigori->set_encrypt_themes(encrypted_types.Has(THEMES));
   nigori->set_encrypt_typed_urls(encrypted_types.Has(TYPED_URLS));
-  nigori->set_encrypt_extension_settings(
-      encrypted_types.Has(EXTENSION_SETTINGS));
   nigori->set_encrypt_extensions(encrypted_types.Has(EXTENSIONS));
   nigori->set_encrypt_search_engines(encrypted_types.Has(SEARCH_ENGINES));
   nigori->set_encrypt_sessions(encrypted_types.Has(SESSIONS));
-  nigori->set_encrypt_app_settings(encrypted_types.Has(APP_SETTINGS));
   nigori->set_encrypt_apps(encrypted_types.Has(APPS));
+  nigori->set_encrypt_app_settings(encrypted_types.Has(APP_SETTINGS));
+  nigori->set_encrypt_extension_settings(
+      encrypted_types.Has(EXTENSION_SETTINGS));
   nigori->set_encrypt_app_notifications(encrypted_types.Has(APP_NOTIFICATIONS));
   nigori->set_encrypt_dictionary(encrypted_types.Has(DICTIONARY));
   nigori->set_encrypt_favicon_images(encrypted_types.Has(FAVICON_IMAGES));
@@ -279,7 +280,8 @@
     return ModelTypeSet::All();
 
   ModelTypeSet encrypted_types;
-  static_assert(39 == MODEL_TYPE_COUNT, "update encrypted types");
+  static_assert(39 == MODEL_TYPE_COUNT,
+                "If adding an encryptable type, update handling below.");
   if (nigori.encrypt_bookmarks())
     encrypted_types.Put(BOOKMARKS);
   if (nigori.encrypt_preferences())
@@ -294,18 +296,18 @@
     encrypted_types.Put(THEMES);
   if (nigori.encrypt_typed_urls())
     encrypted_types.Put(TYPED_URLS);
-  if (nigori.encrypt_extension_settings())
-    encrypted_types.Put(EXTENSION_SETTINGS);
   if (nigori.encrypt_extensions())
     encrypted_types.Put(EXTENSIONS);
   if (nigori.encrypt_search_engines())
     encrypted_types.Put(SEARCH_ENGINES);
   if (nigori.encrypt_sessions())
     encrypted_types.Put(SESSIONS);
-  if (nigori.encrypt_app_settings())
-    encrypted_types.Put(APP_SETTINGS);
   if (nigori.encrypt_apps())
     encrypted_types.Put(APPS);
+  if (nigori.encrypt_app_settings())
+    encrypted_types.Put(APP_SETTINGS);
+  if (nigori.encrypt_extension_settings())
+    encrypted_types.Put(EXTENSION_SETTINGS);
   if (nigori.encrypt_app_notifications())
     encrypted_types.Put(APP_NOTIFICATIONS);
   if (nigori.encrypt_dictionary())
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index e22683b..533394b 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -320,8 +320,14 @@
     "background_fetch/background_fetch_context.h",
     "background_fetch/background_fetch_data_manager.cc",
     "background_fetch/background_fetch_data_manager.h",
-    "background_fetch/fetch_request.cc",
-    "background_fetch/fetch_request.h",
+    "background_fetch/background_fetch_job_controller.cc",
+    "background_fetch/background_fetch_job_controller.h",
+    "background_fetch/background_fetch_job_data.cc",
+    "background_fetch/background_fetch_job_data.h",
+    "background_fetch/background_fetch_job_info.cc",
+    "background_fetch/background_fetch_job_info.h",
+    "background_fetch/background_fetch_request_info.cc",
+    "background_fetch/background_fetch_request_info.h",
     "background_sync/background_sync_context.cc",
     "background_sync/background_sync_context.h",
     "background_sync/background_sync_manager.cc",
diff --git a/content/browser/background_fetch/background_fetch_context.cc b/content/browser/background_fetch/background_fetch_context.cc
index 5e7301c4..2fde2c6 100644
--- a/content/browser/background_fetch/background_fetch_context.cc
+++ b/content/browser/background_fetch/background_fetch_context.cc
@@ -4,7 +4,8 @@
 
 #include "content/browser/background_fetch/background_fetch_context.h"
 
-#include "content/browser/background_fetch/fetch_request.h"
+#include "content/browser/background_fetch/background_fetch_job_info.h"
+#include "content/browser/background_fetch/background_fetch_request_info.h"
 #include "content/browser/service_worker/service_worker_context_wrapper.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
@@ -15,8 +16,10 @@
 
 BackgroundFetchContext::BackgroundFetchContext(
     BrowserContext* browser_context,
+    StoragePartition* storage_partition,
     const scoped_refptr<ServiceWorkerContextWrapper>& service_worker_context)
     : service_worker_context_(service_worker_context),
+      background_fetch_job_controller_(browser_context, storage_partition),
       background_fetch_data_manager_(this) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   // TODO(harkness): BackgroundFetchContext should have
@@ -32,19 +35,22 @@
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   // TODO(harkness): Create the Download observer.
-  // TODO(harkness): Create the Batch manager.
 }
 
 void BackgroundFetchContext::Shutdown() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 }
 
-void BackgroundFetchContext::CreateRequest(const FetchRequest& fetch_request) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
+void BackgroundFetchContext::CreateRequest(
+    const BackgroundFetchJobInfo& job_info,
+    std::vector<BackgroundFetchRequestInfo>& request_infos) {
+  DCHECK_GE(1U, request_infos.size());
   // Inform the data manager about the new download.
-  background_fetch_data_manager_.CreateRequest(fetch_request);
-
-  // TODO(harkness): Make the request to the download manager.
+  BackgroundFetchJobData* job_data =
+      background_fetch_data_manager_.CreateRequest(job_info, request_infos);
+  // If job_data is null, the DataManager will have logged an error.
+  if (job_data)
+    background_fetch_job_controller_.ProcessJob(job_info.guid(), job_data);
 }
 
 }  // namespace content
diff --git a/content/browser/background_fetch/background_fetch_context.h b/content/browser/background_fetch/background_fetch_context.h
index 4fdbb403..8626bec6 100644
--- a/content/browser/background_fetch/background_fetch_context.h
+++ b/content/browser/background_fetch/background_fetch_context.h
@@ -8,12 +8,14 @@
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "content/browser/background_fetch/background_fetch_data_manager.h"
+#include "content/browser/background_fetch/background_fetch_job_controller.h"
 #include "content/common/content_export.h"
 
 namespace content {
 
+class BackgroundFetchJobInfo;
+class BackgroundFetchRequestInfo;
 class BrowserContext;
-class FetchRequest;
 class ServiceWorkerContextWrapper;
 
 // The BackgroundFetchContext is the central moderator of ongoing background
@@ -27,6 +29,7 @@
   // that it can respond to service worker events such as unregister.
   BackgroundFetchContext(
       BrowserContext* browser_context,
+      StoragePartition* storage_partition,
       const scoped_refptr<ServiceWorkerContextWrapper>& context);
 
   // Init and Shutdown are for use on the UI thread when the StoragePartition is
@@ -41,12 +44,14 @@
   }
 
  private:
-  void CreateRequest(const FetchRequest& fetch_request);
+  void CreateRequest(const BackgroundFetchJobInfo& job_info,
+                     std::vector<BackgroundFetchRequestInfo>& request_infos);
 
   friend class base::RefCountedThreadSafe<BackgroundFetchContext>;
   ~BackgroundFetchContext();
 
   scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
+  BackgroundFetchJobController background_fetch_job_controller_;
   BackgroundFetchDataManager background_fetch_data_manager_;
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundFetchContext);
diff --git a/content/browser/background_fetch/background_fetch_data_manager.cc b/content/browser/background_fetch/background_fetch_data_manager.cc
index 06a82d4d..5daeb24 100644
--- a/content/browser/background_fetch/background_fetch_data_manager.cc
+++ b/content/browser/background_fetch/background_fetch_data_manager.cc
@@ -4,8 +4,10 @@
 
 #include "content/browser/background_fetch/background_fetch_data_manager.h"
 
+#include "base/memory/ptr_util.h"
 #include "content/browser/background_fetch/background_fetch_context.h"
-#include "content/browser/background_fetch/fetch_request.h"
+#include "content/browser/background_fetch/background_fetch_job_info.h"
+#include "content/browser/background_fetch/background_fetch_request_info.h"
 
 namespace content {
 
@@ -16,20 +18,33 @@
   // TODO(harkness) Read from persistent storage and recreate requests.
 }
 
-BackgroundFetchDataManager::~BackgroundFetchDataManager() {}
+BackgroundFetchDataManager::~BackgroundFetchDataManager() = default;
 
-void BackgroundFetchDataManager::CreateRequest(
-    const FetchRequest& fetch_request) {
-  FetchIdentifier id(fetch_request.service_worker_registration_id(),
-                     fetch_request.tag());
-  if (fetch_map_.find(id) != fetch_map_.end()) {
-    DLOG(ERROR) << "Origin " << fetch_request.origin()
-                << " has already created a fetch request with tag "
-                << fetch_request.tag();
+BackgroundFetchJobData* BackgroundFetchDataManager::CreateRequest(
+    const BackgroundFetchJobInfo& job_info,
+    BackgroundFetchRequestInfos request_infos) {
+  JobIdentifier id(job_info.service_worker_registration_id(), job_info.tag());
+  // Ensure that this is not a duplicate request.
+  if (service_worker_tag_map_.find(id) != service_worker_tag_map_.end()) {
+    DVLOG(1) << "Origin " << job_info.origin()
+             << " has already created a batch request with tag "
+             << job_info.tag();
     // TODO(harkness) Figure out how to return errors like this.
-    return;
+    return nullptr;
   }
-  fetch_map_[id] = fetch_request;
+  if (batch_map_.find(job_info.guid()) != batch_map_.end()) {
+    DVLOG(1) << "Job with UID " << job_info.guid() << " already exists.";
+    // TODO(harkness) Figure out how to return errors like this.
+    return nullptr;
+  }
+
+  // Add the request to our maps and return a JobData to track the individual
+  // files in the request.
+  service_worker_tag_map_[id] = job_info.guid();
+  // TODO(harkness): When a job is complete, remove the JobData from the map.
+  batch_map_[job_info.guid()] =
+      base::MakeUnique<BackgroundFetchJobData>(std::move(request_infos));
+  return batch_map_[job_info.guid()].get();
 }
 
 }  // namespace content
diff --git a/content/browser/background_fetch/background_fetch_data_manager.h b/content/browser/background_fetch/background_fetch_data_manager.h
index 3244a55..708e8f5 100644
--- a/content/browser/background_fetch/background_fetch_data_manager.h
+++ b/content/browser/background_fetch/background_fetch_data_manager.h
@@ -7,15 +7,17 @@
 
 #include <map>
 #include <string>
+#include <unordered_map>
 
 #include "base/macros.h"
-#include "content/browser/background_fetch/fetch_request.h"
+#include "content/browser/background_fetch/background_fetch_job_data.h"
 #include "content/common/content_export.h"
 #include "url/origin.h"
 
 namespace content {
 
 class BackgroundFetchContext;
+class BackgroundFetchJobInfo;
 
 // The BackgroundFetchDataManager keeps track of all of the outstanding requests
 // which are in process in the DownloadManager. When Chromium restarts, it is
@@ -28,17 +30,27 @@
   ~BackgroundFetchDataManager();
 
   // Called by BackgroundFetchContext when a new request is started, this will
-  // store all of the necessary metadata to track the request.
-  void CreateRequest(const FetchRequest& fetch_request);
+  // store all of the necessary metadata to track the request. The lifetime of
+  // the returned pointer is tied to the lifetime of the
+  // BackgroundFetchDataManager.
+  // TODO(harkness): Lifetime should be tied to the lifetime of the associated
+  // JobController once there is a JobController per request.
+  BackgroundFetchJobData* CreateRequest(
+      const BackgroundFetchJobInfo& job_info,
+      BackgroundFetchRequestInfos request_infos);
 
  private:
   // BackgroundFetchContext owns this BackgroundFetchDataManager, so the
   // DataManager is guaranteed to be destructed before the Context.
   BackgroundFetchContext* background_fetch_context_;
 
-  // Map from <sw_registration_id, tag> to the FetchRequest for that tag.
-  using FetchIdentifier = std::pair<int64_t, std::string>;
-  std::map<FetchIdentifier, FetchRequest> fetch_map_;
+  // Map from <sw_registration_id, tag> to the JobData for that tag.
+  using JobIdentifier = std::pair<int64_t, std::string>;
+  std::map<JobIdentifier, std::string> service_worker_tag_map_;
+
+  // Map of batch guid to the associated BackgroundFetchJobData object.
+  std::unordered_map<std::string, std::unique_ptr<BackgroundFetchJobData>>
+      batch_map_;
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundFetchDataManager);
 };
diff --git a/content/browser/background_fetch/background_fetch_data_manager_unittest.cc b/content/browser/background_fetch/background_fetch_data_manager_unittest.cc
index 64c31f19..17f37e58 100644
--- a/content/browser/background_fetch/background_fetch_data_manager_unittest.cc
+++ b/content/browser/background_fetch/background_fetch_data_manager_unittest.cc
@@ -6,7 +6,8 @@
 
 #include "base/files/file_path.h"
 #include "content/browser/background_fetch/background_fetch_context.h"
-#include "content/browser/background_fetch/fetch_request.h"
+#include "content/browser/background_fetch/background_fetch_job_info.h"
+#include "content/browser/background_fetch/background_fetch_request_info.h"
 #include "content/browser/service_worker/embedded_worker_test_helper.h"
 #include "content/browser/service_worker/service_worker_context_wrapper.h"
 #include "content/public/test/test_browser_context.h"
@@ -28,9 +29,10 @@
  protected:
   BackgroundFetchDataManagerTest()
       : helper_(base::FilePath()),
-        background_fetch_context_(
-            new BackgroundFetchContext(&browser_context_,
-                                       helper_.context_wrapper())) {}
+        background_fetch_context_(new BackgroundFetchContext(
+            &browser_context_,
+            BrowserContext::GetDefaultStoragePartition(&browser_context_),
+            helper_.context_wrapper())) {}
 
   BackgroundFetchDataManager* GetDataManager() const {
     return background_fetch_context_->GetDataManagerForTesting();
@@ -45,14 +47,45 @@
 };
 
 TEST_F(BackgroundFetchDataManagerTest, AddRequest) {
+  // Create a BackgroundFetchJobInfo and a set of BackgroundFetchRequestInfos.
+  std::vector<BackgroundFetchRequestInfo> request_infos;
+  std::vector<std::string> request_guids;
+  for (int i = 0; i < 10; i++) {
+    BackgroundFetchRequestInfo request_info(GURL(kResource), kTag);
+    request_guids.push_back(request_info.guid());
+    request_infos.push_back(std::move(request_info));
+  }
+  BackgroundFetchJobInfo job_info(kTag, url::Origin(GURL(kOrigin)),
+                                  kServiceWorkerRegistrationId);
+
+  // Initialize a BackgroundFetchJobData with the constructed requests.
   BackgroundFetchDataManager* data_manager = GetDataManager();
-  FetchRequest request(url::Origin(GURL(kOrigin)), GURL(kResource),
-                       kServiceWorkerRegistrationId, kTag);
+  BackgroundFetchJobData* job_data =
+      data_manager->CreateRequest(job_info, request_infos);
 
-  data_manager->CreateRequest(request);
+  // Get all of the fetch requests from the BackgroundFetchJobData.
+  for (int i = 0; i < 10; i++) {
+    EXPECT_FALSE(job_data->IsComplete());
+    ASSERT_TRUE(job_data->HasRequestsRemaining());
+    const BackgroundFetchRequestInfo& request_info =
+        job_data->GetNextBackgroundFetchRequestInfo();
+    EXPECT_EQ(request_info.tag(), kTag);
+  }
 
-  // TODO(harkness) There's no output to test yet. Once there is, check that the
-  // request was actually added.
+  // At this point, all the fetches have been started, but none finished.
+  EXPECT_FALSE(job_data->HasRequestsRemaining());
+  EXPECT_FALSE(job_data->IsComplete());
+
+  // Complete all buy one of the fetch requests.
+  for (int i = 0; i < 9; i++) {
+    EXPECT_FALSE(
+        job_data->BackgroundFetchRequestInfoComplete(request_guids[i]));
+    EXPECT_FALSE(job_data->IsComplete());
+  }
+
+  // Complete the final fetch request.
+  EXPECT_FALSE(job_data->BackgroundFetchRequestInfoComplete(request_guids[9]));
+  EXPECT_TRUE(job_data->IsComplete());
 }
 
 }  // namespace content
diff --git a/content/browser/background_fetch/background_fetch_job_controller.cc b/content/browser/background_fetch/background_fetch_job_controller.cc
new file mode 100644
index 0000000..8726d1b
--- /dev/null
+++ b/content/browser/background_fetch/background_fetch_job_controller.cc
@@ -0,0 +1,63 @@
+// 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/background_fetch/background_fetch_job_controller.h"
+
+#include <string>
+#include <vector>
+
+#include "base/bind.h"
+#include "base/memory/ptr_util.h"
+#include "content/public/browser/browser_context.h"
+#include "content/public/browser/browser_thread.h"
+#include "content/public/browser/download_manager.h"
+#include "content/public/browser/storage_partition.h"
+
+namespace content {
+
+BackgroundFetchJobController::BackgroundFetchJobController(
+    BrowserContext* browser_context,
+    StoragePartition* storage_partition)
+    : browser_context_(browser_context),
+      storage_partition_(storage_partition) {}
+
+BackgroundFetchJobController::~BackgroundFetchJobController() = default;
+
+void BackgroundFetchJobController::ProcessJob(
+    const std::string& job_guid,
+    BackgroundFetchJobData* job_data) {
+  DCHECK_CURRENTLY_ON(BrowserThread::IO);
+  DCHECK(job_data);
+  const BackgroundFetchRequestInfo& fetch_request =
+      job_data->GetNextBackgroundFetchRequestInfo();
+  ProcessRequest(job_guid, fetch_request);
+
+  // Currently this only supports jobs of size 1.
+  // TODO(crbug.com/692544)
+  DCHECK(!job_data->HasRequestsRemaining());
+
+  // TODO(harkness): Save the BackgroundFetchJobData so that when the download
+  // completes we can notify the DataManager.
+}
+
+void BackgroundFetchJobController::ProcessRequest(
+    const std::string& job_guid,
+    const BackgroundFetchRequestInfo& fetch_request) {
+  // First add the new request to the internal map tracking in-progress
+  // requests.
+  fetch_map_[job_guid] = fetch_request;
+
+  // TODO(harkness): Check if the download is already in progress or completed.
+
+  // Send the fetch request to the DownloadManager.
+  std::unique_ptr<DownloadUrlParameters> params(
+      base::MakeUnique<DownloadUrlParameters>(
+          fetch_request.url(), storage_partition_->GetURLRequestContext()));
+  // TODO(harkness): Currently this is the only place the browser_context is
+  // used. Evaluate whether we can just pass in the download manager explicitly.
+  BrowserContext::GetDownloadManager(browser_context_)
+      ->DownloadUrl(std::move(params));
+}
+
+}  // namespace content
diff --git a/content/browser/background_fetch/background_fetch_job_controller.h b/content/browser/background_fetch/background_fetch_job_controller.h
new file mode 100644
index 0000000..f1dc0f4
--- /dev/null
+++ b/content/browser/background_fetch/background_fetch_job_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 CONTENT_BROWSER_BACKGROUND_FETCH_BACKGROUND_FETCH_JOB_CONTROLLER_H_
+#define CONTENT_BROWSER_BACKGROUND_FETCH_BACKGROUND_FETCH_JOB_CONTROLLER_H_
+
+#include <string>
+#include <unordered_map>
+#include <vector>
+
+#include "content/browser/background_fetch/background_fetch_data_manager.h"
+#include "content/browser/background_fetch/background_fetch_request_info.h"
+#include "content/common/content_export.h"
+
+namespace content {
+
+class BrowserContext;
+class StoragePartition;
+
+// The JobController will be responsible for coordinating communication with the
+// DownloadManager. It will get requests from the JobData and dispatch them to
+// the DownloadManager.
+// TODO(harkness): The JobController should also observe downloads.
+class CONTENT_EXPORT BackgroundFetchJobController {
+ public:
+  BackgroundFetchJobController(BrowserContext* browser_context,
+                               StoragePartition* storage_partition);
+  ~BackgroundFetchJobController();
+
+  // Start processing on a batch of requests. Some of these may already be in
+  // progress or completed from a previous chromium instance.
+  void ProcessJob(const std::string& job_guid,
+                  BackgroundFetchJobData* job_data);
+
+ private:
+  void ProcessRequest(const std::string& job_guid,
+                      const BackgroundFetchRequestInfo& request);
+
+  // Pointer to the browser context. The BackgroundFetchJobController is owned
+  // by the BrowserContext via the StoragePartition.
+  BrowserContext* browser_context_;
+
+  // Pointer to the storage partition. This object is owned by the partition
+  // (through a sequence of other classes).
+  StoragePartition* storage_partition_;
+
+  // The fetch_map holds any requests which have been sent to the
+  // DownloadManager indexed by the job_guid.
+  std::unordered_map<std::string, BackgroundFetchRequestInfo> fetch_map_;
+
+  DISALLOW_COPY_AND_ASSIGN(BackgroundFetchJobController);
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_BACKGROUND_FETCH_BACKGROUND_FETCH_JOB_CONTROLLER_H_
diff --git a/content/browser/background_fetch/background_fetch_job_controller_unittest.cc b/content/browser/background_fetch/background_fetch_job_controller_unittest.cc
new file mode 100644
index 0000000..ea602d2
--- /dev/null
+++ b/content/browser/background_fetch/background_fetch_job_controller_unittest.cc
@@ -0,0 +1,94 @@
+// 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/background_fetch/background_fetch_job_controller.h"
+
+#include "base/bind_helpers.h"
+#include "base/callback_helpers.h"
+#include "base/memory/ptr_util.h"
+#include "base/run_loop.h"
+#include "content/browser/background_fetch/background_fetch_data_manager.h"
+#include "content/browser/background_fetch/background_fetch_job_info.h"
+#include "content/browser/background_fetch/background_fetch_request_info.h"
+#include "content/public/browser/browser_thread.h"
+#include "content/public/test/mock_download_manager.h"
+#include "content/public/test/test_browser_context.h"
+#include "content/public/test/test_browser_thread_bundle.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+
+const char kOrigin[] = "https://example.com/";
+const char kJobGuid[] = "TestRequestGuid";
+constexpr int64_t kServiceWorkerRegistrationId = 9001;
+const char kTestUrl[] = "http://www.example.com/example.html";
+const char kTag[] = "testTag";
+
+}  // namespace
+
+namespace content {
+
+class BackgroundFetchJobControllerTest : public ::testing::Test {
+ public:
+  BackgroundFetchJobControllerTest()
+      : job_controller_(
+            &browser_context_,
+            BrowserContext::GetDefaultStoragePartition(&browser_context_)),
+        download_manager_(new MockDownloadManager()) {}
+  ~BackgroundFetchJobControllerTest() override = default;
+
+  void SetUp() override {
+    // The download_manager_ ownership is given to the BrowserContext, and the
+    // BrowserContext will take care of deallocating it.
+    BrowserContext::SetDownloadManagerForTesting(&browser_context_,
+                                                 download_manager_);
+  }
+
+  void ProcessJob(const std::string& job_guid,
+                  BackgroundFetchJobData* job_data) {
+    base::RunLoop run_loop;
+    BrowserThread::PostTask(
+        BrowserThread::IO, FROM_HERE,
+        base::Bind(&BackgroundFetchJobControllerTest::ProcessJobOnIO,
+                   base::Unretained(this), job_guid, job_data,
+                   run_loop.QuitClosure()));
+    run_loop.Run();
+  }
+
+  void ProcessJobOnIO(const std::string& job_guid,
+                      BackgroundFetchJobData* job_data,
+                      const base::Closure& closure) {
+    job_controller_.ProcessJob(job_guid, job_data);
+    BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, closure);
+  }
+
+  BackgroundFetchJobController* job_controller() { return &job_controller_; }
+  MockDownloadManager* download_manager() { return download_manager_; }
+
+ private:
+  TestBrowserThreadBundle thread_bundle_;
+  TestBrowserContext browser_context_;
+  BackgroundFetchJobController job_controller_;
+  MockDownloadManager* download_manager_;
+};
+
+TEST_F(BackgroundFetchJobControllerTest, StartDownload) {
+  BackgroundFetchJobInfo job_info(kTag, url::Origin(GURL(kOrigin)),
+                                  kServiceWorkerRegistrationId);
+  BackgroundFetchRequestInfo request_info(GURL(kTestUrl), kJobGuid);
+  std::vector<BackgroundFetchRequestInfo> request_infos{request_info};
+
+  // Get a JobData to give to the JobController. The JobController then gets
+  // the BackgroundFetchRequestInfos from the JobData.
+  BackgroundFetchJobData job_data(request_infos);
+
+  EXPECT_CALL(*(download_manager()),
+              DownloadUrlMock(::testing::Pointee(::testing::Property(
+                  &DownloadUrlParameters::url, GURL(kTestUrl)))))
+      .Times(1);
+
+  ProcessJob(kJobGuid, &job_data);
+}
+
+}  // namespace content
diff --git a/content/browser/background_fetch/background_fetch_job_data.cc b/content/browser/background_fetch/background_fetch_job_data.cc
new file mode 100644
index 0000000..a434d7f
--- /dev/null
+++ b/content/browser/background_fetch/background_fetch_job_data.cc
@@ -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.
+
+#include "content/browser/background_fetch/background_fetch_job_data.h"
+
+#include "base/memory/ptr_util.h"
+#include "content/browser/background_fetch/background_fetch_job_info.h"
+
+namespace content {
+
+BackgroundFetchJobData::BackgroundFetchJobData(
+    BackgroundFetchRequestInfos request_infos)
+    : request_infos_(std::move(request_infos)) {}
+
+BackgroundFetchJobData::~BackgroundFetchJobData() {}
+
+// TODO(harkness): Provide more detail about status and where the returned data
+// is now available.
+bool BackgroundFetchJobData::BackgroundFetchRequestInfoComplete(
+    const std::string& fetch_guid) {
+  // Make sure that the request was expected to be in-progress.
+  auto index_iter = request_info_index_.find(fetch_guid);
+  DCHECK(index_iter != request_info_index_.end());
+  DCHECK_EQ(fetch_guid, request_infos_[index_iter->second].guid());
+
+  // Set the request as complete and delete it from the in-progress index.
+  request_infos_[index_iter->second].set_complete(true);
+  request_info_index_.erase(index_iter);
+
+  // Return a boolean indicating whether there are more requests to be
+  // processed.
+  return next_request_info_ != request_infos_.size();
+}
+
+const BackgroundFetchRequestInfo&
+BackgroundFetchJobData::GetNextBackgroundFetchRequestInfo() {
+  DCHECK(next_request_info_ != request_infos_.size());
+
+  const BackgroundFetchRequestInfo& next_request =
+      request_infos_[next_request_info_];
+  DCHECK(!next_request.complete());
+  request_info_index_[next_request.guid()] = next_request_info_++;
+
+  return next_request;
+}
+
+bool BackgroundFetchJobData::IsComplete() const {
+  return ((next_request_info_ == request_infos_.size()) &&
+          request_info_index_.empty());
+}
+
+bool BackgroundFetchJobData::HasRequestsRemaining() const {
+  return next_request_info_ != request_infos_.size();
+}
+
+}  // namespace content
diff --git a/content/browser/background_fetch/background_fetch_job_data.h b/content/browser/background_fetch/background_fetch_job_data.h
new file mode 100644
index 0000000..61653b35
--- /dev/null
+++ b/content/browser/background_fetch/background_fetch_job_data.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 CONTENT_BROWSER_BACKGROUND_FETCH_BACKGROUND_FETCH_JOB_DATA_H_
+#define CONTENT_BROWSER_BACKGROUND_FETCH_BACKGROUND_FETCH_JOB_DATA_H_
+
+#include <string>
+#include <unordered_map>
+
+#include "base/macros.h"
+#include "content/browser/background_fetch/background_fetch_request_info.h"
+#include "content/common/content_export.h"
+#include "url/origin.h"
+
+namespace content {
+
+// The BackgroundFetchJobData class provides the interface from the
+// JobController to the data storage in the DataManager. It has a reference
+// to the DataManager and invokes calls given the stored batch_guid.
+class CONTENT_EXPORT BackgroundFetchJobData {
+ public:
+  explicit BackgroundFetchJobData(BackgroundFetchRequestInfos request_infos);
+  ~BackgroundFetchJobData();
+
+  // Called by the JobController to inform the JobData that the given fetch
+  // has completed. The JobData returns a boolean indicating whether there
+  // are more requests to process.
+  bool BackgroundFetchRequestInfoComplete(const std::string& fetch_guid);
+
+  // Called by the JobController to get a BackgroundFetchRequestInfo to
+  // process.
+  const BackgroundFetchRequestInfo& GetNextBackgroundFetchRequestInfo();
+
+  // Indicates whether all requests have been handed to the JobController.
+  bool HasRequestsRemaining() const;
+
+  // Indicates whether all requests have been handed out and completed.
+  bool IsComplete() const;
+
+ private:
+  BackgroundFetchRequestInfos request_infos_;
+
+  // Map from fetch_guid to index in request_infos_. Only currently
+  // outstanding requests should be in this map.
+  std::unordered_map<std::string, int> request_info_index_;
+  size_t next_request_info_ = 0;
+
+  DISALLOW_COPY_AND_ASSIGN(BackgroundFetchJobData);
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_BACKGROUND_FETCH_BACKGROUND_FETCH_JOB_DATA_H_
diff --git a/content/browser/background_fetch/background_fetch_job_info.cc b/content/browser/background_fetch/background_fetch_job_info.cc
new file mode 100644
index 0000000..71c33ab
--- /dev/null
+++ b/content/browser/background_fetch/background_fetch_job_info.cc
@@ -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.
+
+#include "content/browser/background_fetch/background_fetch_job_info.h"
+
+#include "base/guid.h"
+
+namespace content {
+
+BackgroundFetchJobInfo::BackgroundFetchJobInfo(
+    const std::string& tag,
+    const url::Origin& origin,
+    int64_t service_worker_registration_id)
+    : guid_(base::GenerateGUID()),
+      tag_(tag),
+      origin_(origin),
+      service_worker_registration_id_(service_worker_registration_id) {}
+
+BackgroundFetchJobInfo::~BackgroundFetchJobInfo() = default;
+
+}  // namespace content
diff --git a/content/browser/background_fetch/background_fetch_job_info.h b/content/browser/background_fetch/background_fetch_job_info.h
new file mode 100644
index 0000000..aba5bd8f
--- /dev/null
+++ b/content/browser/background_fetch/background_fetch_job_info.h
@@ -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.
+
+#ifndef CONTENT_BROWSER_BACKGROUND_FETCH_BACKGROUND_FETCH_JOB_INFO_H
+#define CONTENT_BROWSER_BACKGROUND_FETCH_BACKGROUND_FETCH_JOB_INFO_H
+
+#include <string>
+#include <vector>
+
+#include "base/macros.h"
+#include "content/common/content_export.h"
+#include "content/common/service_worker/service_worker_types.h"
+#include "url/origin.h"
+
+namespace content {
+
+// Class to encapsulate a batch of FetchRequests into a single grouping which is
+// what the developer requested.
+class CONTENT_EXPORT BackgroundFetchJobInfo {
+ public:
+  BackgroundFetchJobInfo(const std::string& tag,
+                         const url::Origin& origin,
+                         int64_t service_worker_registration_id);
+  ~BackgroundFetchJobInfo();
+
+  const std::string& guid() const { return guid_; }
+  const std::string& tag() const { return tag_; }
+  const url::Origin& origin() const { return origin_; }
+  int64_t service_worker_registration_id() const {
+    return service_worker_registration_id_;
+  }
+
+  const std::vector<std::string>& request_guids() const {
+    return request_guids_;
+  }
+
+ private:
+  std::string guid_;
+  std::string tag_;
+  url::Origin origin_;
+  int64_t service_worker_registration_id_ = kInvalidServiceWorkerRegistrationId;
+  std::vector<std::string> request_guids_;
+
+  // TODO(harkness): Other things this class should track: estimated download
+  // size, current download size, total number of files, number of complete
+  // files, (possibly) data to show the notification, (possibly) list of in
+  // progress FetchRequests.
+
+  DISALLOW_COPY_AND_ASSIGN(BackgroundFetchJobInfo);
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_BACKGROUND_FETCH_BACKGROUND_FETCH_JOB_INFO_H
diff --git a/content/browser/background_fetch/background_fetch_request_info.cc b/content/browser/background_fetch/background_fetch_request_info.cc
new file mode 100644
index 0000000..ac20c90
--- /dev/null
+++ b/content/browser/background_fetch/background_fetch_request_info.cc
@@ -0,0 +1,26 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "content/browser/background_fetch/background_fetch_request_info.h"
+
+#include <string>
+
+#include "base/guid.h"
+#include "content/public/browser/download_item.h"
+
+namespace content {
+
+BackgroundFetchRequestInfo::BackgroundFetchRequestInfo() = default;
+
+BackgroundFetchRequestInfo::BackgroundFetchRequestInfo(const GURL& url,
+                                                       const std::string& tag)
+    : guid_(base::GenerateGUID()), url_(url), tag_(tag) {}
+
+BackgroundFetchRequestInfo::BackgroundFetchRequestInfo(
+    const BackgroundFetchRequestInfo& request)
+    : guid_(request.guid_), url_(request.url_), tag_(request.tag_) {}
+
+BackgroundFetchRequestInfo::~BackgroundFetchRequestInfo() = default;
+
+}  // namespace content
diff --git a/content/browser/background_fetch/background_fetch_request_info.h b/content/browser/background_fetch/background_fetch_request_info.h
new file mode 100644
index 0000000..434ae070
--- /dev/null
+++ b/content/browser/background_fetch/background_fetch_request_info.h
@@ -0,0 +1,43 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_BROWSER_BACKGROUND_FETCH_REQUEST_INFO_H_
+#define CONTENT_BROWSER_BACKGROUND_FETCH_REQUEST_INFO_H_
+
+#include <vector>
+
+#include "content/common/content_export.h"
+#include "url/gurl.h"
+
+namespace content {
+
+// Simple class to encapsulate the components of a fetch request.
+class CONTENT_EXPORT BackgroundFetchRequestInfo {
+ public:
+  BackgroundFetchRequestInfo();
+  BackgroundFetchRequestInfo(const GURL& url, const std::string& tag);
+  // TODO(harkness): Remove copy constructor once the final (non-map-based)
+  // state management is in place.
+  BackgroundFetchRequestInfo(const BackgroundFetchRequestInfo& request);
+  ~BackgroundFetchRequestInfo();
+
+  const std::string& guid() const { return guid_; }
+  const GURL& url() const { return url_; }
+  const std::string& tag() const { return tag_; }
+
+  bool complete() const { return complete_; }
+  void set_complete(bool complete) { complete_ = complete; }
+
+ private:
+  std::string guid_;
+  GURL url_;
+  std::string tag_;
+  bool complete_ = false;
+};
+
+using BackgroundFetchRequestInfos = std::vector<BackgroundFetchRequestInfo>;
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_BACKGROUND_FETCH_REQUEST_INFO_H_
diff --git a/content/browser/background_fetch/fetch_request.cc b/content/browser/background_fetch/fetch_request.cc
deleted file mode 100644
index 455c4d46..0000000
--- a/content/browser/background_fetch/fetch_request.cc
+++ /dev/null
@@ -1,35 +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 "content/browser/background_fetch/fetch_request.h"
-
-#include <string>
-
-#include "base/guid.h"
-#include "content/public/browser/download_item.h"
-
-namespace content {
-
-FetchRequest::FetchRequest() = default;
-
-FetchRequest::FetchRequest(const url::Origin& origin,
-                           const GURL& url,
-                           int64_t service_worker_registration_id,
-                           const std::string& tag)
-    : guid_(base::GenerateGUID()),
-      origin_(origin),
-      url_(url),
-      service_worker_registration_id_(service_worker_registration_id),
-      tag_(tag) {}
-
-FetchRequest::FetchRequest(const FetchRequest& request)
-    : guid_(request.guid_),
-      origin_(request.origin_),
-      url_(request.url_),
-      service_worker_registration_id_(request.service_worker_registration_id()),
-      tag_(request.tag_) {}
-
-FetchRequest::~FetchRequest() = default;
-
-}  // namespace content
diff --git a/content/browser/background_fetch/fetch_request.h b/content/browser/background_fetch/fetch_request.h
deleted file mode 100644
index 23537a7..0000000
--- a/content/browser/background_fetch/fetch_request.h
+++ /dev/null
@@ -1,46 +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 CONTENT_BROWSER_BACKGROUND_FETCH_FETCH_REQUEST_H_
-#define CONTENT_BROWSER_BACKGROUND_FETCH_FETCH_REQUEST_H_
-
-#include "content/common/content_export.h"
-#include "content/common/service_worker/service_worker_types.h"
-#include "url/gurl.h"
-#include "url/origin.h"
-
-namespace content {
-
-// Simple class to encapsulate the components of a fetch request.
-class CONTENT_EXPORT FetchRequest {
- public:
-  FetchRequest();
-  FetchRequest(const url::Origin& origin,
-               const GURL& url,
-               int64_t sw_registration_id,
-               const std::string& tag);
-  // TODO(harkness): Remove copy constructor once the final (non-map-based)
-  // state management is in place.
-  FetchRequest(const FetchRequest& request);
-  ~FetchRequest();
-
-  const std::string& guid() const { return guid_; }
-  const url::Origin& origin() const { return origin_; }
-  const GURL& url() const { return url_; }
-  int64_t service_worker_registration_id() const {
-    return service_worker_registration_id_;
-  }
-  const std::string& tag() const { return tag_; }
-
- private:
-  std::string guid_;
-  url::Origin origin_;
-  GURL url_;
-  int64_t service_worker_registration_id_ = kInvalidServiceWorkerRegistrationId;
-  std::string tag_;
-};
-
-}  // namespace content
-
-#endif  // CONTENT_BROWSER_BACKGROUND_FETCH_FETCH_REQUEST_H_
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 96e0724..f8fc9bc1 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -998,6 +998,7 @@
     "../browser/appcache/mock_appcache_storage.h",
     "../browser/appcache/mock_appcache_storage_unittest.cc",
     "../browser/background_fetch/background_fetch_data_manager_unittest.cc",
+    "../browser/background_fetch/background_fetch_job_controller_unittest.cc",
     "../browser/background_sync/background_sync_manager_unittest.cc",
     "../browser/background_sync/background_sync_network_observer_unittest.cc",
     "../browser/background_sync/background_sync_service_impl_unittest.cc",
diff --git a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
index 01dfca46..b2ecc3c1 100644
--- a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
+++ b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
@@ -171,6 +171,10 @@
     self.Skip('deqp/functional/gles3/textureshadow/2d_array_*.html',
         ['win', 'intel', 'd3d11'], bug=666392)
 
+    # Win 10 / Intel
+    self.Fail('deqp/functional/gles3/fbocolorbuffer/clear.html',
+        ['win10', 'intel', 'd3d11'], bug=483282)
+
     # Intel HD 530
     self.Fail('conformance2/textures/misc/angle-stuck-depth-textures.html',
         ['win', 'intel', 'd3d11'], bug=680797)
diff --git a/headless/README.md b/headless/README.md
index b16b69a5..eebede1 100644
--- a/headless/README.md
+++ b/headless/README.md
@@ -131,6 +131,9 @@
 
 [File a new bug](https://bugs.chromium.org/p/chromium/issues/entry?labels=Proj-Headless)
 
+* [BeginFrame sequence numbers + acknowledgements](https://docs.google.com/document/d/1nxaunQ0cYWxhtS6Zzfwa99nae74F7gxanbuT5JRpI6Y/edit#)
+* [Deterministic page loading for Blink](https://docs.google.com/document/d/19s2g4fPP9p9qmMZvwPX8uDGbb-39rgR9k56B4B-ueG8/edit#)
+* [Crash dumps for Headless Chrome](https://docs.google.com/document/d/1l6AGOOBLk99PaAKoZQW_DVhM8FQ6Fut27lD938CRbTM/edit)
 * [Runtime headless mode for Chrome](https://docs.google.com/document/d/1aIJUzQr3eougZQp90bp4mqGr5gY6hdUice8UPa-Ys90/edit#)
 * [Virtual Time in Blink](https://docs.google.com/document/d/1y9kdt_zezt7pbey6uzvt1dgklwc1ob_vy4nzo1zbqmo/edit#heading=h.tn3gd1y9ifml)
 * [Headless Chrome architecture](https://docs.google.com/document/d/11zIkKkLBocofGgoTeeyibB2TZ_k7nR78v7kNelCatUE/edit)
diff --git a/mash/package/mash_packaged_service.cc b/mash/package/mash_packaged_service.cc
index 38d7f80..ea219b2e 100644
--- a/mash/package/mash_packaged_service.cc
+++ b/mash/package/mash_packaged_service.cc
@@ -26,6 +26,7 @@
 #if defined(OS_CHROMEOS)
 #include "ash/autoclick/mus/autoclick_application.h"  // nogncheck
 #include "ash/mus/window_manager_application.h"  // nogncheck
+#include "ash/public/interfaces/constants.mojom.h"    // nogncheck
 #include "ash/touch_hud/mus/touch_hud_application.h"  // nogncheck
 #endif
 
@@ -84,7 +85,7 @@
   }
 
 #if defined(OS_CHROMEOS)
-  if (name == "ash")
+  if (name == ash::mojom::kServiceName)
     return base::WrapUnique(new ash::mus::WindowManagerApplication);
   if (name == "accessibility_autoclick")
     return base::WrapUnique(new ash::autoclick::AutoclickApplication);
diff --git a/net/disk_cache/memory/mem_backend_impl.cc b/net/disk_cache/memory/mem_backend_impl.cc
index 3aa103b3..65e14d71 100644
--- a/net/disk_cache/memory/mem_backend_impl.cc
+++ b/net/disk_cache/memory/mem_backend_impl.cc
@@ -11,6 +11,7 @@
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
 #include "base/sys_info.h"
+#include "base/trace_event/memory_usage_estimator.h"
 #include "net/base/net_errors.h"
 #include "net/disk_cache/cache_util.h"
 #include "net/disk_cache/memory/mem_entry_impl.h"
@@ -284,8 +285,10 @@
 }
 
 size_t MemBackendImpl::EstimateMemoryUsage() const {
-  // TODO(xunjieli): Implement this. crbug.com/669108.
-  return 0;
+  // Entries in lru_list_ will be counted by EMU but not in entries_ since
+  // they're pointers.
+  return base::trace_event::EstimateMemoryUsage(lru_list_) +
+         base::trace_event::EstimateMemoryUsage(entries_);
 }
 
 void MemBackendImpl::EvictIfNeeded() {
diff --git a/net/disk_cache/memory/mem_entry_impl.cc b/net/disk_cache/memory/mem_entry_impl.cc
index cfe23e7..2910bb1 100644
--- a/net/disk_cache/memory/mem_entry_impl.cc
+++ b/net/disk_cache/memory/mem_entry_impl.cc
@@ -253,6 +253,14 @@
   return net::OK;
 }
 
+size_t MemEntryImpl::EstimateMemoryUsage() const {
+  // Subtlety: the entries in children_ are not double counted, as the entry
+  // pointers won't be followed by EstimateMemoryUsage.
+  return base::trace_event::EstimateMemoryUsage(data_) +
+         base::trace_event::EstimateMemoryUsage(key_) +
+         base::trace_event::EstimateMemoryUsage(children_);
+}
+
 // ------------------------------------------------------------------------
 
 MemEntryImpl::MemEntryImpl(MemBackendImpl* backend,
diff --git a/net/disk_cache/memory/mem_entry_impl.h b/net/disk_cache/memory/mem_entry_impl.h
index 3a3f941..6b5ab3dc 100644
--- a/net/disk_cache/memory/mem_entry_impl.h
+++ b/net/disk_cache/memory/mem_entry_impl.h
@@ -16,6 +16,7 @@
 #include "base/gtest_prod_util.h"
 #include "base/macros.h"
 #include "base/time/time.h"
+#include "base/trace_event/memory_usage_estimator.h"
 #include "net/base/net_export.h"
 #include "net/disk_cache/disk_cache.h"
 #include "net/log/net_log_with_source.h"
@@ -130,6 +131,7 @@
   bool CouldBeSparse() const override;
   void CancelSparseIO() override {}
   int ReadyForSparseIO(const CompletionCallback& callback) override;
+  size_t EstimateMemoryUsage() const;
 
  private:
   MemEntryImpl(MemBackendImpl* backend,
diff --git a/net/nqe/effective_connection_type.cc b/net/nqe/effective_connection_type.cc
index 811c725..5fb2a6e 100644
--- a/net/nqe/effective_connection_type.cc
+++ b/net/nqe/effective_connection_type.cc
@@ -10,10 +10,11 @@
 
 const char kEffectiveConnectionTypeUnknown[] = "Unknown";
 const char kEffectiveConnectionTypeOffline[] = "Offline";
-const char kEffectiveConnectionTypeSlow2G[] = "Slow2G";
+const char kEffectiveConnectionTypeSlow2G[] = "Slow-2G";
 const char kEffectiveConnectionType2G[] = "2G";
 const char kEffectiveConnectionType3G[] = "3G";
 const char kEffectiveConnectionType4G[] = "4G";
+const char kDeprectedEffectiveConnectionTypeSlow2G[] = "Slow2G";
 
 }  // namespace
 
@@ -33,10 +34,11 @@
       return kEffectiveConnectionType3G;
     case EFFECTIVE_CONNECTION_TYPE_4G:
       return kEffectiveConnectionType4G;
-    default:
+    case EFFECTIVE_CONNECTION_TYPE_LAST:
       NOTREACHED();
-      break;
+      return "";
   }
+  NOTREACHED();
   return "";
 }
 
@@ -55,6 +57,12 @@
     *effective_connection_type = EFFECTIVE_CONNECTION_TYPE_SLOW_2G;
     return true;
   }
+  // Return EFFECTIVE_CONNECTION_TYPE_SLOW_2G if the deprecated string
+  // representation is in use.
+  if (connection_type_name == kDeprectedEffectiveConnectionTypeSlow2G) {
+    *effective_connection_type = EFFECTIVE_CONNECTION_TYPE_SLOW_2G;
+    return true;
+  }
   if (connection_type_name == kEffectiveConnectionType2G) {
     *effective_connection_type = EFFECTIVE_CONNECTION_TYPE_2G;
     return true;
@@ -71,4 +79,14 @@
   return false;
 }
 
+const char* DeprecatedGetNameForEffectiveConnectionType(
+    EffectiveConnectionType type) {
+  switch (type) {
+    case EFFECTIVE_CONNECTION_TYPE_SLOW_2G:
+      return kDeprectedEffectiveConnectionTypeSlow2G;
+    default:
+      return GetNameForEffectiveConnectionType(type);
+  }
+}
+
 }  // namespace net
diff --git a/net/nqe/effective_connection_type.h b/net/nqe/effective_connection_type.h
index 4b095ed..7f11ad0 100644
--- a/net/nqe/effective_connection_type.h
+++ b/net/nqe/effective_connection_type.h
@@ -64,6 +64,11 @@
     base::StringPiece connection_type_name,
     EffectiveConnectionType* effective_connection_type);
 
+// Returns the string equivalent of |type|. Deprecated, and replaced by
+// GetNameForEffectiveConnectionType.
+NET_EXPORT_PRIVATE const char* DeprecatedGetNameForEffectiveConnectionType(
+    EffectiveConnectionType type);
+
 }  // namespace net
 
 #endif  // NET_NQE_EFFECTIVE_CONNECTION_TYPE_H_
diff --git a/net/nqe/effective_connection_type_unittest.cc b/net/nqe/effective_connection_type_unittest.cc
index 841a911..90e8d14 100644
--- a/net/nqe/effective_connection_type_unittest.cc
+++ b/net/nqe/effective_connection_type_unittest.cc
@@ -42,11 +42,39 @@
         GetNameForEffectiveConnectionType(effective_connection_type));
     EXPECT_FALSE(connection_type_name.empty());
 
+    if (effective_connection_type != EFFECTIVE_CONNECTION_TYPE_SLOW_2G) {
+      // For all effective connection types except Slow2G,
+      // DeprecatedGetNameForEffectiveConnectionType should return the same
+      // name as GetNameForEffectiveConnectionType.
+      EXPECT_EQ(connection_type_name,
+                DeprecatedGetNameForEffectiveConnectionType(
+                    effective_connection_type));
+    }
+
     EXPECT_TRUE(GetEffectiveConnectionTypeForName(
         connection_type_name, &converted_effective_connection_type));
     EXPECT_EQ(effective_connection_type, converted_effective_connection_type);
   }
 }
+// Tests that the Slow 2G effective connection type is converted correctly to a
+// descriptive string name, and vice-versa.
+TEST(EffectiveConnectionTypeTest, Slow2GTypeConversion) {
+  EffectiveConnectionType type;
+
+  // GetEffectiveConnectionTypeForName should return Slow2G as effective
+  // connection type for both the deprecated and the current string
+  // representation.
+  EXPECT_TRUE(GetEffectiveConnectionTypeForName("Slow2G", &type));
+  EXPECT_EQ(EFFECTIVE_CONNECTION_TYPE_SLOW_2G, type);
+
+  EXPECT_TRUE(GetEffectiveConnectionTypeForName("Slow-2G", &type));
+  EXPECT_EQ(EFFECTIVE_CONNECTION_TYPE_SLOW_2G, type);
+
+  EXPECT_EQ("Slow-2G", std::string(GetNameForEffectiveConnectionType(
+                           EFFECTIVE_CONNECTION_TYPE_SLOW_2G)));
+  EXPECT_EQ("Slow2G", std::string(DeprecatedGetNameForEffectiveConnectionType(
+                          EFFECTIVE_CONNECTION_TYPE_SLOW_2G)));
+}
 
 }  // namespace
 
diff --git a/net/nqe/network_quality_estimator.cc b/net/nqe/network_quality_estimator.cc
index 501eeb0..b8861b3 100644
--- a/net/nqe/network_quality_estimator.cc
+++ b/net/nqe/network_quality_estimator.cc
@@ -192,11 +192,12 @@
     int32_t metric,
     base::TimeDelta measuring_duration,
     EffectiveConnectionType observed_effective_connection_type) {
-  const std::string histogram_name = base::StringPrintf(
-      "%s.EstimatedObservedDiff.%s.%d.%s", prefix,
-      metric >= 0 ? "Positive" : "Negative",
-      static_cast<int32_t>(measuring_duration.InSeconds()),
-      GetNameForEffectiveConnectionType(observed_effective_connection_type));
+  const std::string histogram_name =
+      base::StringPrintf("%s.EstimatedObservedDiff.%s.%d.%s", prefix,
+                         metric >= 0 ? "Positive" : "Negative",
+                         static_cast<int32_t>(measuring_duration.InSeconds()),
+                         DeprecatedGetNameForEffectiveConnectionType(
+                             observed_effective_connection_type));
 
   base::HistogramBase* histogram = base::Histogram::FactoryGet(
       histogram_name, 0, EFFECTIVE_CONNECTION_TYPE_LAST,
diff --git a/net/nqe/network_quality_estimator_params.cc b/net/nqe/network_quality_estimator_params.cc
index 63ace63..7fd4e11 100644
--- a/net/nqe/network_quality_estimator_params.cc
+++ b/net/nqe/network_quality_estimator_params.cc
@@ -306,7 +306,7 @@
       continue;
 
     std::string connection_type_name = std::string(
-        GetNameForEffectiveConnectionType(effective_connection_type));
+        DeprecatedGetNameForEffectiveConnectionType(effective_connection_type));
 
     connection_thresholds[i].set_http_rtt(
         base::TimeDelta::FromMilliseconds(GetValueForVariationParam(
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 951707fb..44ed209a 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -405,14 +405,8 @@
                 {
                     "name": "Expected",
                     "params": {
-                        "cs-contextual-cards-bar-integration": "true",
-                        "enable_quick_answers": "true",
-                        "enable_translation": "true",
-                        "recent_scroll_duration_ms": "300"
-                    },
-                    "enable_features": [
-                        "ContextualSearchSingleActions"
-                    ]
+                        "enable_translation": "true"
+                    }
                 }
             ]
         }
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index a30c753..02c8f7da 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -1021,6 +1021,134 @@
 crbug.com/441840 external/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-004.html [ Failure ]
 crbug.com/441840 [ Linux Win ] external/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-000.html [ Failure ]
 
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-001.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-002.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-003.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-004.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-005.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-006.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-007.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-008.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-009.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-010.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-011.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-012.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-013.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-014.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-015.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-016.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-017.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-018.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-019.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-020.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-021.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-022.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-023.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-024.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-025.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-060.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-126.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-127.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-128.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-129.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-130.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-131.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-132.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-133.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-134.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-135.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-136.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-137.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-138.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-139.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-140.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-141.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-142.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-143.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-144.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-145.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-146.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-147.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-148.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-149.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-150.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-151.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-152.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-154.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-155.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-156.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-157.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-158.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-159.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-226.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-227.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-228.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-229.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-351.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-352.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-353.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-354.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-355.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-356.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-357.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-358.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-359.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-360.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-361.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-362.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-363.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-364.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-365.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-366.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-367.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-368.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-369.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-370.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-371.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-372.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-373.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-374.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-375.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-376.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-377.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-401.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-402.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-403.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-004.html [ Failure ]
+crbug.com/306730 [ Win ] external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-005.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-013.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-048.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-111.html [ Failure ]
+crbug.com/306730 [ Win ] external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-112.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-118.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-154.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-216.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-224.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-250.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-251.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-252.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-253.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-254.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-255.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-256.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-257.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-258.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-259.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-260.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-261.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-262.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-263.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-264.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-265.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-266.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-267.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-268.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-269.html [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/line-break/line-break-normal-025.xht [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/line-break/line-break-strict-011.xht [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/line-break/line-break-strict-012.xht [ Failure ]
+crbug.com/306730 external/csswg-test/css-text-3/line-break/line-break-strict-018.xht [ Failure ]
+
 crbug.com/666657 external/csswg-test/css-text-decor-3/text-emphasis-color-001.xht [ Failure ]
 crbug.com/666657 external/csswg-test/css-text-decor-3/text-emphasis-position-above-left-001.xht [ Failure ]
 crbug.com/666657 external/csswg-test/css-text-decor-3/text-emphasis-position-above-left-002.xht [ Failure ]
@@ -1834,6 +1962,8 @@
 # These tests have console error messages whose order is not deterministic.
 crbug.com/685778 http/tests/dom/promise-rejection-events.html [ Pass Failure ]
 crbug.com/685778 virtual/mojo-loading/http/tests/dom/promise-rejection-events.html [ Pass Failure ]
+crbug.com/679742 external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin.html [ Pass Failure ]
+crbug.com/679742 external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling.html [ Pass Failure ]
 
 # This test has a failure console message with specific performance
 # numbers so a consistent baseline cannot be added. This test could be
@@ -1847,14 +1977,6 @@
 
 # 2017-02-17: These directories were just imported but expectations and baselines haven't been set yet.
 crbug.com/692105 external/wpt/domxpath/interfaces.html [ Skip ]
-crbug.com/692105 external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html [ Skip ]
-crbug.com/692105 external/wpt/html/browsers/history/the-location-interface/location-valueof.html [ Skip ]
-crbug.com/692105 external/wpt/html/dom/self-origin.sub.html [ Skip ]
-crbug.com/692105 external/wpt/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html [ Skip ]
-crbug.com/692105 external/wpt/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html [ Skip ]
-crbug.com/594639 external/wpt/html/semantics/scripting-1/the-script-element/module [ Skip ]
-crbug.com/692105 external/wpt/html/webappapis/idle-callbacks/callback-suspended.html [ Skip ]
-crbug.com/692105 external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections [ Skip ]
 crbug.com/692105 external/wpt/service-workers/service-worker/fetch-event-within-sw-manual.html [ Skip ]
 crbug.com/692105 external/wpt/service-workers/service-worker/fetch-event-within-sw.html [ Skip ]
 crbug.com/692105 external/wpt/storage/interfaces.html [ Skip ]
@@ -1917,6 +2039,9 @@
 crbug.com/626703 external/wpt/streams/writable-streams/reentrant-strategy.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/reentrant-strategy.serviceworker.https.html [ Timeout ]
 crbug.com/626703 external/wpt/streams/writable-streams/reentrant-strategy.sharedworker.html [ Timeout ]
+crbug.com/626703 [ Linux ] external/wpt/html/semantics/scripting-1/the-script-element/module/execorder.html [ Timeout ]
+crbug.com/626703 external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/allow-crossorigin.html [ Timeout ]
+crbug.com/626703 external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/disallow-crossorigin.html [ Timeout ]
 crbug.com/626703 external/wpt/html/webappapis/idle-callbacks/cancel-invoked.html [ Timeout ]
 crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html [ Failure ]
 crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down.html [ Failure ]
@@ -2557,8 +2682,6 @@
 
 # Sheriff failures 2017-02-27
 crbug.com/696407 [ Linux ] external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html [ Failure Pass ]
-crbug.com/694338 [ Mac10.9 ] fast/forms/calendar-picker/calendar-picker-appearance-zoom125.html [ Failure ]
-crbug.com/694338 [ Mac10.9 ] fast/forms/calendar-picker/calendar-picker-appearance-zoom200.html [ Failure ]
 
 # Sheriff failures 2017-02-28
 crbug.com/696903 [ Mac ] custom-properties/register-property-syntax-parsing.html [ Crash ]
diff --git a/third_party/WebKit/LayoutTests/W3CImportExpectations b/third_party/WebKit/LayoutTests/W3CImportExpectations
index 5c078c2a..239196e 100644
--- a/third_party/WebKit/LayoutTests/W3CImportExpectations
+++ b/third_party/WebKit/LayoutTests/W3CImportExpectations
@@ -51,8 +51,10 @@
 external/csswg-test/css-syntax-3 [ Skip ]
 external/csswg-test/css-tables-3 [ Skip ]
 external/csswg-test/css-text-3/hanging-punctuation [ Skip ]
-external/csswg-test/css-text-3/i18n [ Skip ]
-external/csswg-test/css-text-3/line-break [ Skip ]
+## Owners: kojii@chromium.org
+# external/csswg-test/css-text-3/i18n [ Pass ]
+# external/csswg-test/css-text-3/line-break [ Pass ]
+external/csswg-test/css-text-3/line-breaking [ Skip ]
 ## Owners: kojii@chromium.org
 # external/csswg-test/css-text-3/overflow-wrap [ Pass ]
 external/csswg-test/css-text-3/support [ Skip ]
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-centered-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-centered-expected.html
deleted file mode 100644
index 244d46f..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-centered-expected.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before centered punctuation</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-centered.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-centered.html
deleted file mode 100644
index 4ceff7f..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-centered.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before centered punctuation</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-half-kana-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-half-kana-expected.html
deleted file mode 100644
index 2ed907f..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-half-kana-expected.html
+++ /dev/null
@@ -1,608 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before half kana</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-half-kana.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-half-kana.html
deleted file mode 100644
index 61288db..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-half-kana.html
+++ /dev/null
@@ -1,608 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before half kana</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-inseparables-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-inseparables-expected.html
deleted file mode 100644
index 5611d0d8..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-inseparables-expected.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - between inseparables</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-inseparables.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-inseparables.html
deleted file mode 100644
index 06a964a..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-inseparables.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - between inseparables</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-iteration-marks-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-iteration-marks-expected.html
deleted file mode 100644
index 49a1d9c..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-iteration-marks-expected.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before iteration marks</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-iteration-marks.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-iteration-marks.html
deleted file mode 100644
index 3fecb93b..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-iteration-marks.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before iteration marks</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-postfixes-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-postfixes-expected.html
deleted file mode 100644
index a7c8d949..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-postfixes-expected.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before postfixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-postfixes.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-postfixes.html
deleted file mode 100644
index 9190d566..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-postfixes.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before postfixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-prefixes-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-prefixes-expected.html
deleted file mode 100644
index e8944ea..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-prefixes-expected.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - after prefixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-prefixes.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-prefixes.html
deleted file mode 100644
index a14c1ed..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-auto-prefixes.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - after prefixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-centered-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-centered-expected.html
deleted file mode 100644
index 244d46f..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-centered-expected.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before centered punctuation</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-centered.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-centered.html
deleted file mode 100644
index d774b50..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-centered.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : normal - before centered punctuation</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-inseparables-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-inseparables-expected.html
deleted file mode 100644
index 5611d0d8..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-inseparables-expected.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - between inseparables</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-inseparables.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-inseparables.html
deleted file mode 100644
index 91928ec..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-inseparables.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : normal - between inseparables</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-iteration-marks-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-iteration-marks-expected.html
deleted file mode 100644
index 49a1d9c..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-iteration-marks-expected.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before iteration marks</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-iteration-marks.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-iteration-marks.html
deleted file mode 100644
index 700d8ab5..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-iteration-marks.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : normal - before iteration marks</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-postfixes-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-postfixes-expected.html
deleted file mode 100644
index a7c8d949..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-postfixes-expected.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before postfixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-postfixes.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-postfixes.html
deleted file mode 100644
index c29088a..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-postfixes.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : normal - before postfixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-prefixes-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-prefixes-expected.html
deleted file mode 100644
index e8944ea..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-prefixes-expected.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - after prefixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-prefixes.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-prefixes.html
deleted file mode 100644
index cb6571e..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-normal-prefixes.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : normal - after prefixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-centered-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-centered-expected.html
deleted file mode 100644
index 244d46f..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-centered-expected.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before centered punctuation</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-centered.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-centered.html
deleted file mode 100644
index 5e01e3a..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-centered.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : strict - before centered punctuation</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff65;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0021;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x003f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x203c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2048;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff01;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff1f;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-half-kana-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-half-kana-expected.html
deleted file mode 100644
index 2ed907f..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-half-kana-expected.html
+++ /dev/null
@@ -1,608 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before half kana</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-half-kana.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-half-kana.html
deleted file mode 100644
index 5c66a137..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-half-kana.html
+++ /dev/null
@@ -1,608 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : strict - before half kana</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3041;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3043;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3045;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3047;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3049;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3095;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3096;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3063;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3083;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3085;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3087;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x308e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f1;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30c3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f4;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f6;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f8;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31f9;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fa;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e3;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e5;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30e7;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fb;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31fe;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x31ff;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30ee;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff67;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff68;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff69;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6a;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6f;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff6e;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-hyphens-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-hyphens-expected.html
deleted file mode 100644
index 73207db4..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-hyphens-expected.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before hyphens</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2010;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2013;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x301c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2010;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2013;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x301c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2010;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2013;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x301c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2010;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2013;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x301c;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30a0;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-hyphens.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-hyphens.html
deleted file mode 100644
index ad065369..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-hyphens.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : strict - before hyphens</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2010;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2013;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x301c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2010;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2013;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x301c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2010;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2013;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x301c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2010;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2013;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x301c;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30a0;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-inseparables-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-inseparables-expected.html
deleted file mode 100644
index 5611d0d8..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-inseparables-expected.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - between inseparables</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2025;&#x2026</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2025</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x2026;&#x2026</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-inseparables.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-inseparables.html
deleted file mode 100644
index 1221ad0..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-inseparables.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : strict - between inseparables</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x2025;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2025;&#x2026</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2025</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x2026;&#x2026</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-iteration-marks-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-iteration-marks-expected.html
deleted file mode 100644
index 49a1d9c..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-iteration-marks-expected.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before iteration marks</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-iteration-marks.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-iteration-marks.html
deleted file mode 100644
index 13ee044..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-iteration-marks.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : strict - before iteration marks</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x3005;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x303b;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309d;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x309e;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fd;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fe;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-postfixes-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-postfixes-expected.html
deleted file mode 100644
index a7c8d949..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-postfixes-expected.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before postfixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-postfixes.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-postfixes.html
deleted file mode 100644
index b2e8310c..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-postfixes.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : strict - before postfixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x0025;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00a2;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x00b0;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2030;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2032;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2033;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x2103;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff05;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xffe0;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-prefixes-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-prefixes-expected.html
deleted file mode 100644
index e8944ea..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-prefixes-expected.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - after prefixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x0024;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a3;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x00a5;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x20ac;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#x2116;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xff04;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe1;123</nobr></p>
-            </div>
-            <div>
-                <p><nobr>&#xffe5;123</nobr></p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-prefixes.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-prefixes.html
deleted file mode 100644
index 0491489..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-prefixes.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : strict - after prefixes</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x0024;123</p>
-            </div>
-            <div>
-                <p>&#x00a3;123</p>
-            </div>
-            <div>
-                <p>&#x00a5;123</p>
-            </div>
-            <div>
-                <p>&#x20ac;123</p>
-            </div>
-            <div>
-                <p>&#x2116;123</p>
-            </div>
-            <div>
-                <p>&#xff04;123</p>
-            </div>
-            <div>
-                <p>&#xffe1;123</p>
-            </div>
-            <div>
-                <p>&#xffe5;123</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-sound-marks-expected.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-sound-marks-expected.html
deleted file mode 100644
index d178a91..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-sound-marks-expected.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : auto - before sound marks</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff70;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff70;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff70;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#x30fc;</p>
-            </div>
-            <div>
-                <p><nobr>&#x4e00;&#x4e8c;&#x4e09;</nobr><br>&#x56db;&#xff70;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-sound-marks.html b/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-sound-marks.html
deleted file mode 100644
index 051d01a..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/line-break-strict-sound-marks.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<html>
-    <head>
-        <title>Line breaks using [-webkit-]line-break : strict - before sound marks</title>
-        <link href="resources/line-break.css" rel="stylesheet" type="text/css">
-    </head>
-    <body>
-        <div lang="en">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff70;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ja">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff70;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="ko">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff70;</p>
-            </div>
-            <br class="clear">
-        </div>
-        <div lang="zh">
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#x30fc;</p>
-            </div>
-            <div>
-                <p>&#x4e00;&#x4e8c;&#x4e09;&#x56db;&#xff70;</p>
-            </div>
-            <br class="clear">
-        </div>
-    </body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/css3/line-break/resources/line-break.css b/third_party/WebKit/LayoutTests/css3/line-break/resources/line-break.css
deleted file mode 100644
index 19e98b5..0000000
--- a/third_party/WebKit/LayoutTests/css3/line-break/resources/line-break.css
+++ /dev/null
@@ -1,12 +0,0 @@
-div > div {
-  font-family: 'Lucida Grande';
-  font-size: 12px;
-  width: 4.1em;
-  float: left;
-}
-div > p {
-  border: solid blue 1px;
-}
-br.clear {
-  clear: left;
-}
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-001.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-001.html
new file mode 100644
index 0000000..4bbb01c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-001.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0020 SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="When white-space allows wrapping, line breaking behavior defined for the WJ, ZW, and GL line-breaking classes in [UAX14] must be honored.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x20;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-002.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-002.html
new file mode 100644
index 0000000..6980ce3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-002.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+200B ZERO WIDTH SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="When white-space allows wrapping, line breaking behavior defined for the WJ, ZW, and GL line-breaking classes in [UAX14] must be honored.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-003.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-003.html
new file mode 100644
index 0000000..e31c4aa
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-003.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2002 EN SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2002;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-004.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-004.html
new file mode 100644
index 0000000..70147c3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-004.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2003 EM SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2003;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-005.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-005.html
new file mode 100644
index 0000000..91ed7929
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-005.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2004 THREE-PER-EM SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2004;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-006.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-006.html
new file mode 100644
index 0000000..8bdb9b34
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-006.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2005 FOUR-PER-EM SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2005;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-007.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-007.html
new file mode 100644
index 0000000..2fc5b8b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-007.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2006 SIX-PER-EM SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2006;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-008.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-008.html
new file mode 100644
index 0000000..c4f6713
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-008.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2000 EN QUAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2000;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-009.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-009.html
new file mode 100644
index 0000000..20ab644
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-009.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2001 EM QUAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2001;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-010.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-010.html
new file mode 100644
index 0000000..06e0beb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-010.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2008 PUNCTUATION SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2008;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-011.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-011.html
new file mode 100644
index 0000000..7f87ef9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-011.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2009 THIN SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2009;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-012.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-012.html
new file mode 100644
index 0000000..60e48c8b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-012.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+200A HAIR SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-014.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-014.html
new file mode 100644
index 0000000..c00c860
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-014.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1680 OGHAM SPACE MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1680;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-015.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-015.html
new file mode 100644
index 0000000..20a63b2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-015.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205F MEDIUM MATHEMATICAL SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-016.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-016.html
new file mode 100644
index 0000000..ff6d3c03
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-016.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+058A ARMENIAN HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking hyphen characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x058A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-017.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-017.html
new file mode 100644
index 0000000..f5b7a5bf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-017.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2010 HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking hyphen characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2010;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-018.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-018.html
new file mode 100644
index 0000000..f9667b91
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-018.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2012 FIGURE DASH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking hyphen characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2012;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-019.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-019.html
new file mode 100644
index 0000000..e07848e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-019.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2013 EN DASH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking hyphen characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2013;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-020.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-020.html
new file mode 100644
index 0000000..82f663ed
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-020.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+05BE HEBREW PUNCTUATION MAQAF</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x05BE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-021.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-021.html
new file mode 100644
index 0000000..f1a4e97
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-021.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F0B TIBETAN MARK INTERSYLLABIC TSHEG</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-022.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-022.html
new file mode 100644
index 0000000..a85901f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-022.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1361 ETHIOPIC WORD SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1361;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-023.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-023.html
new file mode 100644
index 0000000..43c28935
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-023.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+17D8 KHMER SIGN BEYYAL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D8;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-024.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-024.html
new file mode 100644
index 0000000..6a038a2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-024.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+17DA KHMER SIGN KOOMUUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17DA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-025.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-025.html
new file mode 100644
index 0000000..d12c2db
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-025.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2027 HYPHENATION POINT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2027;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-026-expected.txt b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-026-expected.txt
new file mode 100644
index 0000000..3fb8385
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-026-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL   assert_true: expected true got false
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-026.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-026.html
new file mode 100644
index 0000000..0562648
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-026.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+007C VERTICAL LINE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x007C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-030.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-030.html
new file mode 100644
index 0000000..a4d3202
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-030.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+16EB RUNIC SINGLE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-031.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-031.html
new file mode 100644
index 0000000..02233c88
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-031.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+16EC RUNIC MULTIPLE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-032.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-032.html
new file mode 100644
index 0000000..ee9aa962
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-032.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+16ED RUNIC CROSS PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16ED;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-033.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-033.html
new file mode 100644
index 0000000..79883b5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-033.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2056 THREE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2056;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-034.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-034.html
new file mode 100644
index 0000000..2be81fb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-034.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2058 FOUR DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2058;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-035.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-035.html
new file mode 100644
index 0000000..b1d3b5c5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-035.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2059 FIVE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2059;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-036.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-036.html
new file mode 100644
index 0000000..b1814fb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-036.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205A TWO DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-037.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-037.html
new file mode 100644
index 0000000..347d4f40
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-037.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205B FOUR DOT MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-038.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-038.html
new file mode 100644
index 0000000..497f86d5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-038.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205D TRICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-039.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-039.html
new file mode 100644
index 0000000..d448051
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-039.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205E VERTICAL FOUR DOTS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-040.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-040.html
new file mode 100644
index 0000000..004f307
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-040.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E19 PALM BRANCH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E19;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-041.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-041.html
new file mode 100644
index 0000000..9e84c4de
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-041.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E2A TWO DOTS OVER ONE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-042.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-042.html
new file mode 100644
index 0000000..37131bc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-042.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E2B ONE DOT OVER TWO DOTS PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-043.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-043.html
new file mode 100644
index 0000000..3d12c072
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-043.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E2C SQUARED FOUR DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-044.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-044.html
new file mode 100644
index 0000000..7eea8a6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-044.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E2D FIVE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-045.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-045.html
new file mode 100644
index 0000000..51d392a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-045.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E30 RING POINT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E30;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-046.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-046.html
new file mode 100644
index 0000000..7fac447
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-046.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10100 AEGEAN WORD SEPARATOR LINE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10100;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-047.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-047.html
new file mode 100644
index 0000000..c68d41b9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-047.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10101 AEGEAN WORD SEPARATOR DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10101;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-048.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-048.html
new file mode 100644
index 0000000..dc433173
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-048.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10102 AEGEAN CHECK MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10102;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-049.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-049.html
new file mode 100644
index 0000000..b63629f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-049.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1039F UGARITIC WORD DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1039F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-050.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-050.html
new file mode 100644
index 0000000..932bc675
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-050.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+103D0 OLD PERSIAN WORD DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x103D0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-051.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-051.html
new file mode 100644
index 0000000..efc67d0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-051.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1091F PHOENICIAN WORD DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1091F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-052.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-052.html
new file mode 100644
index 0000000..4ff6045
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-052.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+12470 CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x12470;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-060.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-060.html
new file mode 100644
index 0000000..688566b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-060.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0964 DEVANAGARI DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0964;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-061.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-061.html
new file mode 100644
index 0000000..5ce99af
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-061.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0965 DEVANAGARI DOUBLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0965;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-062.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-062.html
new file mode 100644
index 0000000..43c30a7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-062.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0E5A THAI CHARACTER ANGKHANKHU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-063.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-063.html
new file mode 100644
index 0000000..a05d984
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-063.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0E5B THAI CHARACTER KHOMUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-064.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-064.html
new file mode 100644
index 0000000..e36a8753
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-064.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+104A MYANMAR SIGN LITTLE SECTION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-065.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-065.html
new file mode 100644
index 0000000..27cfac2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-065.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+104B MYANMAR SIGN SECTION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-066.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-066.html
new file mode 100644
index 0000000..d4e8a4b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-066.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1735 PHILIPPINE SINGLE PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1735;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-067.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-067.html
new file mode 100644
index 0000000..89d0a5f4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-067.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1736 PHILIPPINE DOUBLE PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1736;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-068.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-068.html
new file mode 100644
index 0000000..85360dd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-068.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+17D4 KHMER SIGN KHAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D4;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-069.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-069.html
new file mode 100644
index 0000000..b560ff9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-069.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+17D5 KHMER SIGN BARIYOOSAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D5;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-070.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-070.html
new file mode 100644
index 0000000..74289f1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-070.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5E BALINESE CARIK SIKI</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-071.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-071.html
new file mode 100644
index 0000000..bbec20b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-071.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5F BALINESE CARIK PAREREN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-072.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-072.html
new file mode 100644
index 0000000..65eb7404
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-072.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A8CE SAURASHTRA DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-073.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-073.html
new file mode 100644
index 0000000..ff2b9fe
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-073.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A8CF SAURASHTRA DOUBLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-074.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-074.html
new file mode 100644
index 0000000..1deb39e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-074.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+AA5D CHAM PUNCTUATION DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-075.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-075.html
new file mode 100644
index 0000000..6f0b8b4e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-075.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+AA5E CHAM PUNCTUATION DOUBLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-076.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-076.html
new file mode 100644
index 0000000..d95c4f8d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-076.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+AA5F CHAM PUNCTUATION TRIPLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-077.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-077.html
new file mode 100644
index 0000000..365eb0e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-077.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A56 KHAROSHTHI PUNCTUATION DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A56;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-078.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-078.html
new file mode 100644
index 0000000..a27434cf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-078.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A57 KHAROSHTHI PUNCTUATION DOUBLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A57;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-080.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-080.html
new file mode 100644
index 0000000..35169fcff
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-080.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F85 TIBETAN MARK PALUTA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F85;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-081.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-081.html
new file mode 100644
index 0000000..748bc485
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-081.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F34 TIBETAN MARK BSDUS RTAGS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F34;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-082.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-082.html
new file mode 100644
index 0000000..2fab86d9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-082.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F7F TIBETAN SIGN RNAM BCAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-083-expected.txt b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-083-expected.txt
new file mode 100644
index 0000000..3fb8385
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-083-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL   assert_true: expected true got false
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-083.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-083.html
new file mode 100644
index 0000000..836f90cd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-083.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+07BE TIBETAN KU RU KHA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x07BE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-084.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-084.html
new file mode 100644
index 0000000..d195ad25
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-084.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0FBF TIBETAN KU RU KHA BZHI MIG CAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FBF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-085.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-085.html
new file mode 100644
index 0000000..b5fcc8c4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-085.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0FD2 TIBETAN MARK NYIS TSHEG</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-086.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-086.html
new file mode 100644
index 0000000..b5fcc8c4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-086.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0FD2 TIBETAN MARK NYIS TSHEG</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-090.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-090.html
new file mode 100644
index 0000000..c0cd8c4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-090.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1804 MONGOLIAN COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1804;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-091.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-091.html
new file mode 100644
index 0000000..ca4ebd8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-091.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1805 MONGOLIAN FOUR DOTS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1805;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-092.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-092.html
new file mode 100644
index 0000000..56f0c4b9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-092.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5A BALINESE PANTI</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-093.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-093.html
new file mode 100644
index 0000000..f0114bf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-093.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5B BALINESE PAMADA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-094-expected.txt b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-094-expected.txt
new file mode 100644
index 0000000..3fb8385
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-094-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL   assert_true: expected true got false
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-094.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-094.html
new file mode 100644
index 0000000..caeafe8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-094.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5C BALINESE WINDU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-095.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-095.html
new file mode 100644
index 0000000..b45838b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-095.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5D BALINESE CARIK PAMUNGKAH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-096.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-096.html
new file mode 100644
index 0000000..178a7b4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-096.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B60 BALINESE PAMENENG</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B60;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-097.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-097.html
new file mode 100644
index 0000000..1a3ddda9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-097.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3B LEPCHA PUNCTUATION TA-ROL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-098.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-098.html
new file mode 100644
index 0000000..ba45c61c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-098.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3C LEPCHA PUNCTUATION NYET THYOOM TA-ROL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-099.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-099.html
new file mode 100644
index 0000000..5885132e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-099.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3E LEPCHA PUNCTUATION TSHOOK CER-WA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-100.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-100.html
new file mode 100644
index 0000000..5885132e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-100.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3E LEPCHA PUNCTUATION TSHOOK CER-WA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-101.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-101.html
new file mode 100644
index 0000000..45e8d9370
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-101.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3F LEPCHA PUNCTUATION TSHOOK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-102.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-102.html
new file mode 100644
index 0000000..1c91e59
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-102.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C7E OL CHIKI PUNCTUATION MUCAAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-103.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-103.html
new file mode 100644
index 0000000..81ffebd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-103.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C7F OL CHIKI PUNCTUATION DOUBLE MUCAAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-104.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-104.html
new file mode 100644
index 0000000..7b3b0d6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-104.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2CFA COPTIC OLD NUBIAN DIRECT QUESTION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-105.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-105.html
new file mode 100644
index 0000000..3984e13d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-105.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2CFB COPTIC OLD NUBIAN INDIRECT QUESTION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-106.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-106.html
new file mode 100644
index 0000000..97a1cfe
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-106.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2CFC COPTIC OLD NUBIAN VERSE DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-107.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-107.html
new file mode 100644
index 0000000..8536746
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-107.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2CFF COPTIC MORPHOLOGICAL DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-108.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-108.html
new file mode 100644
index 0000000..1317e07
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-108.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E17 OBLIQUE DOUBLE HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E17;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-109.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-109.html
new file mode 100644
index 0000000..3997c60
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-109.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A60D VAI COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-110.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-110.html
new file mode 100644
index 0000000..4558d52
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-110.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A60F VAI QUESTION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-111.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-111.html
new file mode 100644
index 0000000..873433b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-111.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A92E KAYAH LI SIGN CWI</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-112.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-112.html
new file mode 100644
index 0000000..8bb5913
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-112.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A92F KAYAH LI SIGN SHYA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-113.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-113.html
new file mode 100644
index 0000000..54b8e23
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-113.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A50 KHAROSHTHI PUNCTUATION DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A50;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-114.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-114.html
new file mode 100644
index 0000000..1100ea99
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-114.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A51 KHAROSHTHI PUNCTUATION SMALL CIRCLE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A51;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-115.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-115.html
new file mode 100644
index 0000000..34a8c38
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-115.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A52 KHAROSHTHI PUNCTUATION CIRCLE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A52;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-116.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-116.html
new file mode 100644
index 0000000..e216521
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-116.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A53 KHAROSHTHI PUNCTUATION CRESCENT BAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A53;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-117.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-117.html
new file mode 100644
index 0000000..c20b0e9d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-117.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A54 KHAROSHTHI PUNCTUATION MANGALAM</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A54;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-118.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-118.html
new file mode 100644
index 0000000..1f76c8d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-118.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A55 KHAROSHTHI PUNCTUATION LOTUS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A55;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-120.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-120.html
new file mode 100644
index 0000000..ba3769a1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-120.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+00A0 NO-BREAK SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x00A0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-121.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-121.html
new file mode 100644
index 0000000..c82af30
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-121.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+202F NARROW NO-BREAK SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x202F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-122.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-122.html
new file mode 100644
index 0000000..484610c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-122.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+180E MONGOLIAN VOWEL SEPARATOR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x180E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-123.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-123.html
new file mode 100644
index 0000000..4f08284
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-123.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+034F COMBINING GRAPHEME JOINER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x034F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-124.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-124.html
new file mode 100644
index 0000000..16bac44b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-124.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2007 FIGURE SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2007;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-125.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-125.html
new file mode 100644
index 0000000..72d94f9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-125.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2011 NON-BREAKING HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2011;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-126.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-126.html
new file mode 100644
index 0000000..8a383f1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-126.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F08 TIBETAN MARK SBRUL SHAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F08;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-127.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-127.html
new file mode 100644
index 0000000..e0273e3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-127.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F0C TIBETAN MARK DELIMITER TSHEG BSTAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-128.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-128.html
new file mode 100644
index 0000000..164417f2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-128.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F12 TIBETAN MARK RGYA GRAM SHAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F12;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-130.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-130.html
new file mode 100644
index 0000000..fc924e7a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-130.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2060 WORD JOINER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the WJ Word Joiner property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2060;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-131.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-131.html
new file mode 100644
index 0000000..0575661
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-baspglwj-131.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+FEFF ZERO WIDTH NO-BREAK SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='font dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the WJ Word Joiner property.">
+<style type='text/css'>
+@font-face {
+    font-family: 'csstest_ascii';
+    src: url('support/csstest-ascii-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+	}
+#breakable { font-family: csstest_ascii; font-size: 25px; width: 800px; line-height: 30px; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+			<div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xFEFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+			</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, " ");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-001-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-001-expected.html
new file mode 100644
index 0000000..f342f77
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-001-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3041 HIRAGANA LETTER SMALL A (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3041;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3041;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-001.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-001.html
new file mode 100644
index 0000000..7a67824
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-001.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3041 HIRAGANA LETTER SMALL A (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-001-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3041 HIRAGANA LETTER SMALL A at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3041;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3041;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-002-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-002-expected.html
new file mode 100644
index 0000000..7863de0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-002-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3043 HIRAGANA LETTER SMALL I (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3043;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3043;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-002.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-002.html
new file mode 100644
index 0000000..b1f8248
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-002.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3043 HIRAGANA LETTER SMALL I (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-002-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3043 HIRAGANA LETTER SMALL I at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3043;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3043;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-003-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-003-expected.html
new file mode 100644
index 0000000..b9bcab3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-003-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3045 HIRAGANA LETTER SMALL U (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3045;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3045;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-003.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-003.html
new file mode 100644
index 0000000..fdd1b2d2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-003.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3045 HIRAGANA LETTER SMALL U (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-003-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3045 HIRAGANA LETTER SMALL U at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3045;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3045;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-004-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-004-expected.html
new file mode 100644
index 0000000..00fdae0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-004-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3047 HIRAGANA LETTER SMALL E (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3047;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3047;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-004.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-004.html
new file mode 100644
index 0000000..6976150d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-004.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3047 HIRAGANA LETTER SMALL E (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-004-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3047 HIRAGANA LETTER SMALL E at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3047;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3047;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-005-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-005-expected.html
new file mode 100644
index 0000000..655526d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-005-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3049 HIRAGANA LETTER SMALL O (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3049;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3049;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-005.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-005.html
new file mode 100644
index 0000000..b99dd2b4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-005.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3049 HIRAGANA LETTER SMALL O (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-005-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3049 HIRAGANA LETTER SMALL O at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3049;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3049;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-006-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-006-expected.html
new file mode 100644
index 0000000..e02e3b3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-006-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3063 HIRAGANA LETTER SMALL TU (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3063;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3063;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-006.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-006.html
new file mode 100644
index 0000000..15be3660
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-006.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3063 HIRAGANA LETTER SMALL TU (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-006-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3063 HIRAGANA LETTER SMALL TU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3063;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3063;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-007-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-007-expected.html
new file mode 100644
index 0000000..c78a36c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-007-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3083 HIRAGANA LETTER SMALL YA (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3083;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3083;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-007.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-007.html
new file mode 100644
index 0000000..8f671034
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-007.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3083 HIRAGANA LETTER SMALL YA (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-007-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3083 HIRAGANA LETTER SMALL YA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3083;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3083;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-008-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-008-expected.html
new file mode 100644
index 0000000..f3fcd86
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-008-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3085 HIRAGANA LETTER SMALL YU (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3085;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3085;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-008.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-008.html
new file mode 100644
index 0000000..5eda0bd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-008.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3085 HIRAGANA LETTER SMALL YU (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-008-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3085 HIRAGANA LETTER SMALL YU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3085;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3085;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-009-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-009-expected.html
new file mode 100644
index 0000000..08425433
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-009-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3087 HIRAGANA LETTER SMALL YO  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3087;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3087;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-009.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-009.html
new file mode 100644
index 0000000..5366e8e8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-009.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3087 HIRAGANA LETTER SMALL YO  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-009-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3087 HIRAGANA LETTER SMALL YO  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3087;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3087;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-010-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-010-expected.html
new file mode 100644
index 0000000..020fc2b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-010-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 308E HIRAGANA LETTER SMALL WA  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x308E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x308E;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-010.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-010.html
new file mode 100644
index 0000000..65fb413
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-010.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 308E HIRAGANA LETTER SMALL WA  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-010-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 308E HIRAGANA LETTER SMALL WA  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x308E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x308E;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-011-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-011-expected.html
new file mode 100644
index 0000000..6b0565e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-011-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3095 HIRAGANA LETTER SMALL KA  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3095;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3095;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-011.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-011.html
new file mode 100644
index 0000000..1b3bd82
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-011.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3095 HIRAGANA LETTER SMALL KA  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-011-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3095 HIRAGANA LETTER SMALL KA  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3095;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3095;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-012-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-012-expected.html
new file mode 100644
index 0000000..e0b39766
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-012-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3096 HIRAGANA LETTER SMALL KE  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3096;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3096;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-012.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-012.html
new file mode 100644
index 0000000..8e00e60
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-012.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3096 HIRAGANA LETTER SMALL KE  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-012-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3096 HIRAGANA LETTER SMALL KE  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3096;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x3096;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-013-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-013-expected.html
new file mode 100644
index 0000000..1715c3d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-013-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A1 KATAKANA LETTER SMALL A (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A1;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A1;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-013.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-013.html
new file mode 100644
index 0000000..5ddac5a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-013.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A1 KATAKANA LETTER SMALL A (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-013-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30A1 KATAKANA LETTER SMALL A at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A1;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A1;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-014-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-014-expected.html
new file mode 100644
index 0000000..0eadf04
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-014-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A3 KATAKANA LETTER SMALL I (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-014.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-014.html
new file mode 100644
index 0000000..788ffbd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-014.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A3 KATAKANA LETTER SMALL I (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-014-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30A3 KATAKANA LETTER SMALL I at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A3;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-015-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-015-expected.html
new file mode 100644
index 0000000..40a97f74
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-015-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A5 KATAKANA LETTER SMALL U (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-015.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-015.html
new file mode 100644
index 0000000..bd7745c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-015.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A5 KATAKANA LETTER SMALL U (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-015-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30A5 KATAKANA LETTER SMALL U at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A5;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-016-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-016-expected.html
new file mode 100644
index 0000000..4e3e856
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-016-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A7 KATAKANA LETTER SMALL E (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-016.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-016.html
new file mode 100644
index 0000000..dc24967
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-016.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A7 KATAKANA LETTER SMALL E (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-016-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30A7 KATAKANA LETTER SMALL E at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A7;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-017-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-017-expected.html
new file mode 100644
index 0000000..13358a49
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-017-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A9 KATAKANA LETTER SMALL O (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A9;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A9;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-017.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-017.html
new file mode 100644
index 0000000..5a7fc9b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-017.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A9 KATAKANA LETTER SMALL O (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-017-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30A9 KATAKANA LETTER SMALL O at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A9;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30A9;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-018-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-018-expected.html
new file mode 100644
index 0000000..1fab8078
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-018-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30C3 KATAKANA LETTER SMALL TU (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30C3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30C3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-018.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-018.html
new file mode 100644
index 0000000..abab784
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-018.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30C3 KATAKANA LETTER SMALL TU (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-018-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30C3 KATAKANA LETTER SMALL TU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30C3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30C3;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-019-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-019-expected.html
new file mode 100644
index 0000000..44a7f431
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-019-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E3 KATAKANA LETTER SMALL YA (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30E3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30E3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-019.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-019.html
new file mode 100644
index 0000000..f3c1276
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-019.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E3 KATAKANA LETTER SMALL YA (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-019-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30E3 KATAKANA LETTER SMALL YA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30E3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30E3;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-020-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-020-expected.html
new file mode 100644
index 0000000..3c20bc86
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-020-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E5 KATAKANA LETTER SMALL YU (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30E5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30E5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-020.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-020.html
new file mode 100644
index 0000000..787b8ef
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-020.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E5 KATAKANA LETTER SMALL YU (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-020-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30E5 KATAKANA LETTER SMALL YU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30E5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30E5;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-021-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-021-expected.html
new file mode 100644
index 0000000..d52ea38d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-021-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E7 KATAKANA LETTER SMALL YO (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30E7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30E7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-021.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-021.html
new file mode 100644
index 0000000..0f625d9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-021.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E7 KATAKANA LETTER SMALL YO (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-021-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30E7 KATAKANA LETTER SMALL YO at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30E7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30E7;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-022-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-022-expected.html
new file mode 100644
index 0000000..de45e818
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-022-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30EE KATAKANA LETTER SMALL WA (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30EE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30EE;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-022.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-022.html
new file mode 100644
index 0000000..7d3ccea
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-022.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30EE KATAKANA LETTER SMALL WA (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-022-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30EE KATAKANA LETTER SMALL WA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30EE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30EE;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-023-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-023-expected.html
new file mode 100644
index 0000000..1eeba66
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-023-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F5 KATAKANA LETTER SMALL KA (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30F5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30F5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-023.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-023.html
new file mode 100644
index 0000000..1b37820b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-023.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F5 KATAKANA LETTER SMALL KA (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-023-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30F5 KATAKANA LETTER SMALL KA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30F5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30F5;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-024-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-024-expected.html
new file mode 100644
index 0000000..01cc579d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-024-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F6 KATAKANA LETTER SMALL KE (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30F6;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30F6;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-024.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-024.html
new file mode 100644
index 0000000..2dd573e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-024.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F6 KATAKANA LETTER SMALL KE (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-024-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30F6 KATAKANA LETTER SMALL KE at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30F6;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30F6;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-025-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-025-expected.html
new file mode 100644
index 0000000..d26b88e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-025-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FC;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FC;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-025.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-025.html
new file mode 100644
index 0000000..84f78e8d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-025.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-025-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FC;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FC;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-026-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-026-expected.html
new file mode 100644
index 0000000..b758aa2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-026-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2010;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2010;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-026.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-026.html
new file mode 100644
index 0000000..0c7ff8d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-026.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-026-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2010 HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2010;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2010;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-027-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-027-expected.html
new file mode 100644
index 0000000..8f730a0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-027-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2013;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2013;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-027.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-027.html
new file mode 100644
index 0000000..6fe66dc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-027.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-027-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2013 EN DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2013;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2013;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-028-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-028-expected.html
new file mode 100644
index 0000000..b19f5bb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-028-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x301C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x301C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-028.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-028.html
new file mode 100644
index 0000000..e39dfd8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-028.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-028-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 301C WAVE DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x301C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-029-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-029-expected.html
new file mode 100644
index 0000000..12354c8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-029-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x30A0;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x30A0;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-029.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-029.html
new file mode 100644
index 0000000..48381d2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-029.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-029-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x30A0;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x30A0;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-030-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-030-expected.html
new file mode 100644
index 0000000..38d98c1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-030-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-030.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-030.html
new file mode 100644
index 0000000..4f98f33
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-030.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-030-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3005 IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-031-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-031-expected.html
new file mode 100644
index 0000000..9f06939
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-031-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-031.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-031.html
new file mode 100644
index 0000000..b7a1d24
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-031.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-031-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 303B VERTICAL IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-032-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-032-expected.html
new file mode 100644
index 0000000..5dcf5d4d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-032-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309D;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309D;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-032.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-032.html
new file mode 100644
index 0000000..a711645
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-032.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-032-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 309D HIRAGANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x309D;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309D;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-033-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-033-expected.html
new file mode 100644
index 0000000..9e96e14
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-033-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309E;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-033.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-033.html
new file mode 100644
index 0000000..84a91e44
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-033.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-033-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 309E HIRAGANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x309E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309E;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-034-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-034-expected.html
new file mode 100644
index 0000000..ff179e06
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-034-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FD;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FD;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-034.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-034.html
new file mode 100644
index 0000000..e0c357b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-034.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-034-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30FD KATAKANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FD;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FD;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-035-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-035-expected.html
new file mode 100644
index 0000000..d1008fdc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-035-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FE;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-035.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-035.html
new file mode 100644
index 0000000..d79ac286
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-035.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-035-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30FE KATAKANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FE;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-036-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-036-expected.html
new file mode 100644
index 0000000..bc004c9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-036-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-036.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-036.html
new file mode 100644
index 0000000..70fd7d58
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-036.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-036-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003A COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x003A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-037-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-037-expected.html
new file mode 100644
index 0000000..87269a7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-037-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-037.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-037.html
new file mode 100644
index 0000000..3d928ce
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-037.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-037-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003B SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x003B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-038-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-038-expected.html
new file mode 100644
index 0000000..ee1fe89b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-038-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FB;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FB;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-038.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-038.html
new file mode 100644
index 0000000..e7c1d7b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-038.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-038-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30FB KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FB;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FB;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-039-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-039-expected.html
new file mode 100644
index 0000000..84df17c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-039-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-039.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-039.html
new file mode 100644
index 0000000..0800c809
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-039.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-039-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1A FULLWIDTH COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-040-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-040-expected.html
new file mode 100644
index 0000000..25aa743
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-040-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-040.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-040.html
new file mode 100644
index 0000000..b2ea40be
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-040.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-040-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1B FULLWIDTH SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-041-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-041-expected.html
new file mode 100644
index 0000000..7735b69
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-041-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#xFF65;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#xFF65;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-041.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-041.html
new file mode 100644
index 0000000..d5a0183
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-041.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-041-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF65 HALFWIDTH KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#xFF65;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#xFF65;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-042-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-042-expected.html
new file mode 100644
index 0000000..b40087d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-042-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-042.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-042.html
new file mode 100644
index 0000000..6f5e0f8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-042.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-042-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0021 EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x0021;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-043-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-043-expected.html
new file mode 100644
index 0000000..0d472ef
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-043-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-043.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-043.html
new file mode 100644
index 0000000..dc00d31
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-043.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-043-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003F QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x003F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-044-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-044-expected.html
new file mode 100644
index 0000000..b1f6019
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-044-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-044.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-044.html
new file mode 100644
index 0000000..b1887fe6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-044.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-044-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 203C DOUBLE EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-045-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-045-expected.html
new file mode 100644
index 0000000..5989dee8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-045-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-045.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-045.html
new file mode 100644
index 0000000..9cc588f7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-045.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-045-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2047 DOUBLE QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2047;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-046-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-046-expected.html
new file mode 100644
index 0000000..f0deb382
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-046-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-046.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-046.html
new file mode 100644
index 0000000..2e1335d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-046.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-046-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2048 QUESTION EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2048;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-047-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-047-expected.html
new file mode 100644
index 0000000..1e8bda8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-047-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-047.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-047.html
new file mode 100644
index 0000000..6d894df
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-047.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-047-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2049 EXCLAMATION QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2049;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-048-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-048-expected.html
new file mode 100644
index 0000000..4d84e60
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-048-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-048.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-048.html
new file mode 100644
index 0000000..8e35f64
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-048.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-048-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF01 FULLWIDTH EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF01;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-049-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-049-expected.html
new file mode 100644
index 0000000..e795897
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-049-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-049.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-049.html
new file mode 100644
index 0000000..18401a3e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-049.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-049-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1F FULLWIDTH QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF1F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-050-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-050-expected.html
new file mode 100644
index 0000000..689286f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-050-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-050.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-050.html
new file mode 100644
index 0000000..df4d4214
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-050.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-050-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0025 PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x0025;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-051-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-051-expected.html
new file mode 100644
index 0000000..36e26a1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-051-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-051.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-051.html
new file mode 100644
index 0000000..6e54ebaf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-051.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-051-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 00A2 CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x00A2;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-052-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-052-expected.html
new file mode 100644
index 0000000..7a5cb2ce
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-052-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-052.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-052.html
new file mode 100644
index 0000000..69a9883
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-052.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-052-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 00B0 DEGREE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x00B0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-054-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-054-expected.html
new file mode 100644
index 0000000..11e3067
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-054-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-054.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-054.html
new file mode 100644
index 0000000..3ee912d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-054.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-054-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2030 PER MILLE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2030;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-055-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-055-expected.html
new file mode 100644
index 0000000..d35d574
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-055-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-055.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-055.html
new file mode 100644
index 0000000..0623847
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-055.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-055-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2032 PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2032;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-056-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-056-expected.html
new file mode 100644
index 0000000..30e47c8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-056-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-056.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-056.html
new file mode 100644
index 0000000..a6b8923
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-056.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-056-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2033 DOUBLE PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2033;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-057-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-057-expected.html
new file mode 100644
index 0000000..10269d9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-057-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-057.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-057.html
new file mode 100644
index 0000000..e33fd9d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-057.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-057-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2103 DEGREE CELSIUS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2103;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-058-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-058-expected.html
new file mode 100644
index 0000000..e1c8caf7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-058-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-058.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-058.html
new file mode 100644
index 0000000..310aedc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-058.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-058-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF05 FULLWIDTH PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF05;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-059-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-059-expected.html
new file mode 100644
index 0000000..13ea3925
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-059-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-059.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-059.html
new file mode 100644
index 0000000..3f99149
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-059.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-059-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FFE0 FULLWIDTH CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFFE0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-060-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-060-expected.html
new file mode 100644
index 0000000..b6ad7184
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-060-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#xFF70;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#xFF70;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-060.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-060.html
new file mode 100644
index 0000000..06713020
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-060.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  (strict,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-060-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#xFF70;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#xFF70;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-101-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-101-expected.html
new file mode 100644
index 0000000..1f1f41b9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-101-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3041 HIRAGANA LETTER SMALL A (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3041;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3041;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-101.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-101.html
new file mode 100644
index 0000000..02947d8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-101.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3041 HIRAGANA LETTER SMALL A (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-101-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3041 HIRAGANA LETTER SMALL A at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3041;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3041;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-102-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-102-expected.html
new file mode 100644
index 0000000..c42c8f0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-102-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3043 HIRAGANA LETTER SMALL I (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3043;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3043;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-102.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-102.html
new file mode 100644
index 0000000..fb15b51
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-102.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3043 HIRAGANA LETTER SMALL I (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-102-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3043 HIRAGANA LETTER SMALL I at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3043;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3043;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-103-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-103-expected.html
new file mode 100644
index 0000000..17157b1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-103-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3045 HIRAGANA LETTER SMALL U (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3045;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3045;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-103.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-103.html
new file mode 100644
index 0000000..a3211f9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-103.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3045 HIRAGANA LETTER SMALL U (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-103-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3045 HIRAGANA LETTER SMALL U at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3045;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3045;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-104-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-104-expected.html
new file mode 100644
index 0000000..e0a18d2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-104-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3047 HIRAGANA LETTER SMALL E (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3047;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3047;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-104.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-104.html
new file mode 100644
index 0000000..ee1d56da
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-104.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3047 HIRAGANA LETTER SMALL E (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-104-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3047 HIRAGANA LETTER SMALL E at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3047;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3047;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-105-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-105-expected.html
new file mode 100644
index 0000000..4e087a24
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-105-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3049 HIRAGANA LETTER SMALL O (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3049;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3049;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-105.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-105.html
new file mode 100644
index 0000000..be276d9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-105.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3049 HIRAGANA LETTER SMALL O (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-105-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3049 HIRAGANA LETTER SMALL O at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3049;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3049;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-106-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-106-expected.html
new file mode 100644
index 0000000..c39239c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-106-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3063 HIRAGANA LETTER SMALL TU (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3063;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3063;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-106.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-106.html
new file mode 100644
index 0000000..8c1cf71
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-106.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3063 HIRAGANA LETTER SMALL TU (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-106-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3063 HIRAGANA LETTER SMALL TU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3063;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3063;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-107-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-107-expected.html
new file mode 100644
index 0000000..58bad0d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-107-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3083 HIRAGANA LETTER SMALL YA (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3083;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3083;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-107.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-107.html
new file mode 100644
index 0000000..1c19018e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-107.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3083 HIRAGANA LETTER SMALL YA (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-107-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3083 HIRAGANA LETTER SMALL YA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3083;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3083;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-108-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-108-expected.html
new file mode 100644
index 0000000..b0c131c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-108-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3085 HIRAGANA LETTER SMALL YU (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3085;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3085;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-108.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-108.html
new file mode 100644
index 0000000..280aabf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-108.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3085 HIRAGANA LETTER SMALL YU (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-108-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3085 HIRAGANA LETTER SMALL YU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3085;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3085;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-109-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-109-expected.html
new file mode 100644
index 0000000..f332f0d9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-109-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3087 HIRAGANA LETTER SMALL YO  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3087;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3087;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-109.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-109.html
new file mode 100644
index 0000000..402a5e5e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-109.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3087 HIRAGANA LETTER SMALL YO  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-109-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3087 HIRAGANA LETTER SMALL YO  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3087;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3087;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-110-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-110-expected.html
new file mode 100644
index 0000000..7a83fba
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-110-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 308E HIRAGANA LETTER SMALL WA  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x308E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x308E;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-110.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-110.html
new file mode 100644
index 0000000..88d751d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-110.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 308E HIRAGANA LETTER SMALL WA  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-110-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 308E HIRAGANA LETTER SMALL WA  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x308E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x308E;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-111-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-111-expected.html
new file mode 100644
index 0000000..ec1cdbe
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-111-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3095 HIRAGANA LETTER SMALL KA  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3095;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3095;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-111.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-111.html
new file mode 100644
index 0000000..dddde92
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-111.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3095 HIRAGANA LETTER SMALL KA  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-111-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3095 HIRAGANA LETTER SMALL KA  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3095;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3095;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-112-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-112-expected.html
new file mode 100644
index 0000000..86aaa75
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-112-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3096 HIRAGANA LETTER SMALL KE  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3096;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3096;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-112.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-112.html
new file mode 100644
index 0000000..6148113
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-112.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3096 HIRAGANA LETTER SMALL KE  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-112-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3096 HIRAGANA LETTER SMALL KE  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3096;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3096;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-113-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-113-expected.html
new file mode 100644
index 0000000..2a1aefb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-113-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A1 KATAKANA LETTER SMALL A (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A1;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A1;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-113.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-113.html
new file mode 100644
index 0000000..32ae1f9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-113.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A1 KATAKANA LETTER SMALL A (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-113-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A1 KATAKANA LETTER SMALL A at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A1;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A1;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-114-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-114-expected.html
new file mode 100644
index 0000000..b26fbf0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-114-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A3 KATAKANA LETTER SMALL I (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-114.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-114.html
new file mode 100644
index 0000000..0de7e07
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-114.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A3 KATAKANA LETTER SMALL I (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-114-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A3 KATAKANA LETTER SMALL I at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A3;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-115-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-115-expected.html
new file mode 100644
index 0000000..45ca2642
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-115-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A5 KATAKANA LETTER SMALL U (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-115.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-115.html
new file mode 100644
index 0000000..6291087
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-115.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A5 KATAKANA LETTER SMALL U (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-115-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A5 KATAKANA LETTER SMALL U at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A5;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-116-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-116-expected.html
new file mode 100644
index 0000000..5955052
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-116-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A7 KATAKANA LETTER SMALL E (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-116.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-116.html
new file mode 100644
index 0000000..7f43c36
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-116.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A7 KATAKANA LETTER SMALL E (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-116-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A7 KATAKANA LETTER SMALL E at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A7;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-117-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-117-expected.html
new file mode 100644
index 0000000..a463556
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-117-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A9 KATAKANA LETTER SMALL O (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A9;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A9;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-117.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-117.html
new file mode 100644
index 0000000..6a553b5f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-117.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A9 KATAKANA LETTER SMALL O (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-117-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A9 KATAKANA LETTER SMALL O at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A9;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A9;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-118-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-118-expected.html
new file mode 100644
index 0000000..92d29c7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-118-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30C3 KATAKANA LETTER SMALL TU (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30C3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30C3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-118.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-118.html
new file mode 100644
index 0000000..2419418
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-118.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30C3 KATAKANA LETTER SMALL TU (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-118-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30C3 KATAKANA LETTER SMALL TU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30C3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30C3;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-119-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-119-expected.html
new file mode 100644
index 0000000..977b82d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-119-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E3 KATAKANA LETTER SMALL YA (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-119.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-119.html
new file mode 100644
index 0000000..bdbbf3f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-119.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E3 KATAKANA LETTER SMALL YA (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-119-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30E3 KATAKANA LETTER SMALL YA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30E3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E3;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-120-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-120-expected.html
new file mode 100644
index 0000000..345fd6e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-120-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E5 KATAKANA LETTER SMALL YU (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-120.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-120.html
new file mode 100644
index 0000000..a64e7e9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-120.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E5 KATAKANA LETTER SMALL YU (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-120-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30E5 KATAKANA LETTER SMALL YU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30E5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E5;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-121-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-121-expected.html
new file mode 100644
index 0000000..b4d1736
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-121-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E7 KATAKANA LETTER SMALL YO (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-121.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-121.html
new file mode 100644
index 0000000..81a8868
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-121.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E7 KATAKANA LETTER SMALL YO (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-121-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30E7 KATAKANA LETTER SMALL YO at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30E7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E7;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-122-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-122-expected.html
new file mode 100644
index 0000000..6430fe8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-122-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30EE KATAKANA LETTER SMALL WA (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30EE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30EE;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-122.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-122.html
new file mode 100644
index 0000000..8702fbb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-122.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30EE KATAKANA LETTER SMALL WA (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-122-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30EE KATAKANA LETTER SMALL WA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30EE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30EE;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-123-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-123-expected.html
new file mode 100644
index 0000000..cf9b6a0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-123-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F5 KATAKANA LETTER SMALL KA (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-123.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-123.html
new file mode 100644
index 0000000..4d75c6c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-123.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F5 KATAKANA LETTER SMALL KA (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-123-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30F5 KATAKANA LETTER SMALL KA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30F5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F5;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-124-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-124-expected.html
new file mode 100644
index 0000000..c419d7e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-124-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F6 KATAKANA LETTER SMALL KE (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F6;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F6;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-124.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-124.html
new file mode 100644
index 0000000..d9134ff
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-124.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F6 KATAKANA LETTER SMALL KE (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-124-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30F6 KATAKANA LETTER SMALL KE at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30F6;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F6;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-125-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-125-expected.html
new file mode 100644
index 0000000..01bbca7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-125-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FC;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FC;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-125.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-125.html
new file mode 100644
index 0000000..aa189f6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-125.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-125-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FC;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FC;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-126-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-126-expected.html
new file mode 100644
index 0000000..ae0bbe8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-126-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-126.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-126.html
new file mode 100644
index 0000000..d9e487f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-126.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-126-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2010 HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2010;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-127-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-127-expected.html
new file mode 100644
index 0000000..f4032ef
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-127-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-127.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-127.html
new file mode 100644
index 0000000..c79e549
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-127.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-127-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2013 EN DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2013;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-128-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-128-expected.html
new file mode 100644
index 0000000..76e4d9e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-128-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-128.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-128.html
new file mode 100644
index 0000000..4128044
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-128.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-128-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 301C WAVE DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-129-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-129-expected.html
new file mode 100644
index 0000000..0a4a43f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-129-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x30A0;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x30A0;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-129.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-129.html
new file mode 100644
index 0000000..81d0877
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-129.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-129-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x30A0;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x30A0;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-130-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-130-expected.html
new file mode 100644
index 0000000..ee30eb62
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-130-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x3005;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x3005;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-130.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-130.html
new file mode 100644
index 0000000..1b6faf2e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-130.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-130-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3005 IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x3005;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-131-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-131-expected.html
new file mode 100644
index 0000000..65ae1cb8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-131-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x303B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x303B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-131.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-131.html
new file mode 100644
index 0000000..9a3e1a1c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-131.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-131-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 303B VERTICAL IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x303B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-132-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-132-expected.html
new file mode 100644
index 0000000..34c01c8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-132-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x309D;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x309D;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-132.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-132.html
new file mode 100644
index 0000000..b6fc701
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-132.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-132-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 309D HIRAGANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x309D;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x309D;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-133-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-133-expected.html
new file mode 100644
index 0000000..c34cdbf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-133-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x309E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x309E;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-133.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-133.html
new file mode 100644
index 0000000..6a662716
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-133.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-133-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 309E HIRAGANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x309E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x309E;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-134-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-134-expected.html
new file mode 100644
index 0000000..062121b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-134-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FD;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FD;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-134.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-134.html
new file mode 100644
index 0000000..0cef496
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-134.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-134-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30FD KATAKANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FD;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FD;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-135-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-135-expected.html
new file mode 100644
index 0000000..434c2fe
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-135-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FE;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-135.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-135.html
new file mode 100644
index 0000000..97eb4f59
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-135.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-135-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30FE KATAKANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FE;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-136-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-136-expected.html
new file mode 100644
index 0000000..00105d17
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-136-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x003A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-136.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-136.html
new file mode 100644
index 0000000..cce76ea
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-136.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-136-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 003A COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x003A;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-137-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-137-expected.html
new file mode 100644
index 0000000..715cd6f7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-137-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x003B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-137.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-137.html
new file mode 100644
index 0000000..9b4d37a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-137.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-137-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 003B SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x003B;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-138-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-138-expected.html
new file mode 100644
index 0000000..53369004
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-138-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FB;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FB;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-138.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-138.html
new file mode 100644
index 0000000..e9682be
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-138.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-138-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30FB KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FB;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FB;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-139-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-139-expected.html
new file mode 100644
index 0000000..c7ca40c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-139-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF1A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-139.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-139.html
new file mode 100644
index 0000000..309cb2e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-139.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-139-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF1A FULLWIDTH COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-140-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-140-expected.html
new file mode 100644
index 0000000..87f2c69
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-140-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF1B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-140.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-140.html
new file mode 100644
index 0000000..282bdd64
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-140.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-140-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF1B FULLWIDTH SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-141-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-141-expected.html
new file mode 100644
index 0000000..d63cb25
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-141-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#xFF65;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#xFF65;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-141.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-141.html
new file mode 100644
index 0000000..192c1d0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-141.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-141-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF65 HALFWIDTH KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#xFF65;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#xFF65;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-142-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-142-expected.html
new file mode 100644
index 0000000..485dd0b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-142-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x0021;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0021;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-142.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-142.html
new file mode 100644
index 0000000..438c08a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-142.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-142-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 0021 EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x0021;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0021;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-143-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-143-expected.html
new file mode 100644
index 0000000..3f0a42a9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-143-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x003F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-143.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-143.html
new file mode 100644
index 0000000..11c01d6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-143.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-143-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 003F QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x003F;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-144-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-144-expected.html
new file mode 100644
index 0000000..e82a1db
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-144-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x203C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x203C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-144.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-144.html
new file mode 100644
index 0000000..82b628c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-144.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-144-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 203C DOUBLE EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x203C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-145-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-145-expected.html
new file mode 100644
index 0000000..febd9de
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-145-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2047;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2047;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-145.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-145.html
new file mode 100644
index 0000000..2334b5c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-145.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-145-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2047 DOUBLE QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2047;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2047;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-146-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-146-expected.html
new file mode 100644
index 0000000..46ae5cc0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-146-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2048;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2048;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-146.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-146.html
new file mode 100644
index 0000000..f5311773
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-146.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-146-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2048 QUESTION EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2048;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2048;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-147-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-147-expected.html
new file mode 100644
index 0000000..f36130c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-147-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2049;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2049;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-147.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-147.html
new file mode 100644
index 0000000..75c2068f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-147.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-147-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2049 EXCLAMATION QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2049;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2049;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-148-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-148-expected.html
new file mode 100644
index 0000000..490c2d09
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-148-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF01;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF01;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-148.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-148.html
new file mode 100644
index 0000000..4a77638
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-148.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-148-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF01 FULLWIDTH EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF01;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF01;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-149-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-149-expected.html
new file mode 100644
index 0000000..f85456e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-149-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF1F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-149.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-149.html
new file mode 100644
index 0000000..24f8e0f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-149.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-149-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF1F FULLWIDTH QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF1F;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-150-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-150-expected.html
new file mode 100644
index 0000000..45af723
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-150-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x0025;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0025;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-150.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-150.html
new file mode 100644
index 0000000..75b4b8e8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-150.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-150-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 0025 PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x0025;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0025;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-151-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-151-expected.html
new file mode 100644
index 0000000..b2462ead
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-151-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x00A2;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x00A2;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-151.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-151.html
new file mode 100644
index 0000000..10a137a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-151.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-151-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 00A2 CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x00A2;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x00A2;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-152-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-152-expected.html
new file mode 100644
index 0000000..a5f5daa
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-152-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x00B0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x00B0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-152.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-152.html
new file mode 100644
index 0000000..b2659853
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-152.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-152-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 00B0 DEGREE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x00B0;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x00B0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-154-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-154-expected.html
new file mode 100644
index 0000000..f5d113c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-154-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2030;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2030;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-154.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-154.html
new file mode 100644
index 0000000..58b772f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-154.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-154-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2030 PER MILLE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2030;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2030;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-155-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-155-expected.html
new file mode 100644
index 0000000..d98e9222e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-155-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2032;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2032;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-155.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-155.html
new file mode 100644
index 0000000..ed0488b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-155.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-155-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2032 PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2032;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2032;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-156-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-156-expected.html
new file mode 100644
index 0000000..4ac7183
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-156-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2033;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2033;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-156.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-156.html
new file mode 100644
index 0000000..4a3ab1c8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-156.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-156-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2033 DOUBLE PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2033;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2033;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-157-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-157-expected.html
new file mode 100644
index 0000000..d9efa97
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-157-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2103;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2103;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-157.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-157.html
new file mode 100644
index 0000000..d02a64f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-157.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-157-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2103 DEGREE CELSIUS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2103;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2103;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-158-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-158-expected.html
new file mode 100644
index 0000000..66d07d31
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-158-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF05;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF05;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-158.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-158.html
new file mode 100644
index 0000000..80108223
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-158.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-158-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF05 FULLWIDTH PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF05;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF05;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-159-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-159-expected.html
new file mode 100644
index 0000000..65130377
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-159-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFFE0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFFE0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-159.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-159.html
new file mode 100644
index 0000000..3447798
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-159.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-159-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FFE0 FULLWIDTH CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFFE0;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFFE0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-160-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-160-expected.html
new file mode 100644
index 0000000..970de95
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-160-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#xFF70;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#xFF70;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-160.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-160.html
new file mode 100644
index 0000000..ab85c84
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-160.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  (loose,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-160-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#xFF70;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#xFF70;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-201-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-201-expected.html
new file mode 100644
index 0000000..aa3f7e0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-201-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3041 HIRAGANA LETTER SMALL A (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3041;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3041;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-201.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-201.html
new file mode 100644
index 0000000..8c5af0e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-201.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3041 HIRAGANA LETTER SMALL A (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-201-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3041 HIRAGANA LETTER SMALL A at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3041;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3041;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-202-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-202-expected.html
new file mode 100644
index 0000000..f1ea561
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-202-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3043 HIRAGANA LETTER SMALL I (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3043;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3043;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-202.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-202.html
new file mode 100644
index 0000000..70d98e2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-202.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3043 HIRAGANA LETTER SMALL I (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-202-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3043 HIRAGANA LETTER SMALL I at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3043;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3043;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-203-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-203-expected.html
new file mode 100644
index 0000000..b03e899
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-203-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3045 HIRAGANA LETTER SMALL U (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3045;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3045;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-203.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-203.html
new file mode 100644
index 0000000..36e5ff3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-203.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3045 HIRAGANA LETTER SMALL U (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-203-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3045 HIRAGANA LETTER SMALL U at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3045;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3045;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-204-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-204-expected.html
new file mode 100644
index 0000000..cd95ba5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-204-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3047 HIRAGANA LETTER SMALL E (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3047;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3047;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-204.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-204.html
new file mode 100644
index 0000000..e080341b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-204.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3047 HIRAGANA LETTER SMALL E (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-204-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3047 HIRAGANA LETTER SMALL E at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3047;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3047;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-205-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-205-expected.html
new file mode 100644
index 0000000..e393354
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-205-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3049 HIRAGANA LETTER SMALL O (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3049;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3049;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-205.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-205.html
new file mode 100644
index 0000000..a1ca7bc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-205.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3049 HIRAGANA LETTER SMALL O (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-205-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3049 HIRAGANA LETTER SMALL O at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3049;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3049;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-206-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-206-expected.html
new file mode 100644
index 0000000..c4457ea
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-206-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3063 HIRAGANA LETTER SMALL TU (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3063;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3063;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-206.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-206.html
new file mode 100644
index 0000000..2f45830
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-206.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3063 HIRAGANA LETTER SMALL TU (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-206-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3063 HIRAGANA LETTER SMALL TU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3063;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3063;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-207-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-207-expected.html
new file mode 100644
index 0000000..799d564
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-207-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3083 HIRAGANA LETTER SMALL YA (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3083;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3083;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-207.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-207.html
new file mode 100644
index 0000000..6d81ec6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-207.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3083 HIRAGANA LETTER SMALL YA (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-207-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3083 HIRAGANA LETTER SMALL YA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3083;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3083;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-208-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-208-expected.html
new file mode 100644
index 0000000..44d2a97
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-208-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3085 HIRAGANA LETTER SMALL YU (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3085;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3085;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-208.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-208.html
new file mode 100644
index 0000000..d9163e9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-208.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3085 HIRAGANA LETTER SMALL YU (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-208-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3085 HIRAGANA LETTER SMALL YU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3085;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3085;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-209-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-209-expected.html
new file mode 100644
index 0000000..fcbf6725
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-209-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3087 HIRAGANA LETTER SMALL YO  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3087;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3087;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-209.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-209.html
new file mode 100644
index 0000000..9df4366d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-209.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3087 HIRAGANA LETTER SMALL YO  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-209-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3087 HIRAGANA LETTER SMALL YO  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3087;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3087;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-210-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-210-expected.html
new file mode 100644
index 0000000..a7b52dd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-210-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 308E HIRAGANA LETTER SMALL WA  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x308E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x308E;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-210.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-210.html
new file mode 100644
index 0000000..83cb15cc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-210.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 308E HIRAGANA LETTER SMALL WA  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-210-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 308E HIRAGANA LETTER SMALL WA  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x308E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x308E;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-211-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-211-expected.html
new file mode 100644
index 0000000..d1317a0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-211-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3095 HIRAGANA LETTER SMALL KA  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3095;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3095;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-211.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-211.html
new file mode 100644
index 0000000..9e21abb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-211.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3095 HIRAGANA LETTER SMALL KA  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-211-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3095 HIRAGANA LETTER SMALL KA  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3095;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3095;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-212-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-212-expected.html
new file mode 100644
index 0000000..625eef0c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-212-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3096 HIRAGANA LETTER SMALL KE  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3096;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3096;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-212.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-212.html
new file mode 100644
index 0000000..e6e800e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-212.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3096 HIRAGANA LETTER SMALL KE  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-212-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3096 HIRAGANA LETTER SMALL KE  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x3096;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x3096;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-213-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-213-expected.html
new file mode 100644
index 0000000..a435a96f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-213-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A1 KATAKANA LETTER SMALL A (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A1;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A1;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-213.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-213.html
new file mode 100644
index 0000000..ce37e62
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-213.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A1 KATAKANA LETTER SMALL A (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-213-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A1 KATAKANA LETTER SMALL A at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A1;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A1;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-214-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-214-expected.html
new file mode 100644
index 0000000..b249f35
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-214-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A3 KATAKANA LETTER SMALL I (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-214.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-214.html
new file mode 100644
index 0000000..d8dc40bb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-214.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A3 KATAKANA LETTER SMALL I (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-214-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A3 KATAKANA LETTER SMALL I at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A3;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-215-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-215-expected.html
new file mode 100644
index 0000000..098ee26
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-215-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A5 KATAKANA LETTER SMALL U (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-215.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-215.html
new file mode 100644
index 0000000..838492451
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-215.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A5 KATAKANA LETTER SMALL U (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-215-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A5 KATAKANA LETTER SMALL U at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A5;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-216-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-216-expected.html
new file mode 100644
index 0000000..e6500a3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-216-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A7 KATAKANA LETTER SMALL E (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-216.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-216.html
new file mode 100644
index 0000000..ed85d8a4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-216.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A7 KATAKANA LETTER SMALL E (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-216-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A7 KATAKANA LETTER SMALL E at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A7;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-217-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-217-expected.html
new file mode 100644
index 0000000..6dfe125b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-217-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A9 KATAKANA LETTER SMALL O (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A9;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A9;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-217.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-217.html
new file mode 100644
index 0000000..e0f50e85
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-217.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A9 KATAKANA LETTER SMALL O (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-217-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A9 KATAKANA LETTER SMALL O at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30A9;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30A9;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-218-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-218-expected.html
new file mode 100644
index 0000000..bd9556c0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-218-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30C3 KATAKANA LETTER SMALL TU (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30C3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30C3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-218.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-218.html
new file mode 100644
index 0000000..855ba1f0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-218.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30C3 KATAKANA LETTER SMALL TU (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-218-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30C3 KATAKANA LETTER SMALL TU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30C3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30C3;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-219-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-219-expected.html
new file mode 100644
index 0000000..f02af2a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-219-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E3 KATAKANA LETTER SMALL YA (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-219.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-219.html
new file mode 100644
index 0000000..28e4cb7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-219.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E3 KATAKANA LETTER SMALL YA (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-219-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30E3 KATAKANA LETTER SMALL YA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30E3;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E3;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-220-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-220-expected.html
new file mode 100644
index 0000000..2e63799c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-220-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E5 KATAKANA LETTER SMALL YU (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-220.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-220.html
new file mode 100644
index 0000000..22179653
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-220.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E5 KATAKANA LETTER SMALL YU (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-220-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30E5 KATAKANA LETTER SMALL YU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30E5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E5;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-221-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-221-expected.html
new file mode 100644
index 0000000..89306687
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-221-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E7 KATAKANA LETTER SMALL YO (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-221.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-221.html
new file mode 100644
index 0000000..4d5097d83
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-221.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E7 KATAKANA LETTER SMALL YO (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-221-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30E7 KATAKANA LETTER SMALL YO at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30E7;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30E7;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-222-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-222-expected.html
new file mode 100644
index 0000000..0cafcb64
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-222-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30EE KATAKANA LETTER SMALL WA (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30EE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30EE;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-222.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-222.html
new file mode 100644
index 0000000..f1931dbb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-222.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30EE KATAKANA LETTER SMALL WA (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-222-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30EE KATAKANA LETTER SMALL WA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30EE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30EE;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-223-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-223-expected.html
new file mode 100644
index 0000000..3ea84ec
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-223-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F5 KATAKANA LETTER SMALL KA (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-223.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-223.html
new file mode 100644
index 0000000..a4e42505
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-223.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F5 KATAKANA LETTER SMALL KA (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-223-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30F5 KATAKANA LETTER SMALL KA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30F5;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F5;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-224-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-224-expected.html
new file mode 100644
index 0000000..ad1c8df
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-224-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F6 KATAKANA LETTER SMALL KE (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F6;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F6;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-224.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-224.html
new file mode 100644
index 0000000..251b41ec0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-224.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30F6 KATAKANA LETTER SMALL KE (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-224-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30F6 KATAKANA LETTER SMALL KE at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30F6;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30F6;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-225-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-225-expected.html
new file mode 100644
index 0000000..1967d84
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-225-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FC;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FC;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-225.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-225.html
new file mode 100644
index 0000000..2a41c351
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-225.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-225-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FC;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカカ<br/>&#x30FC;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-226-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-226-expected.html
new file mode 100644
index 0000000..e236251c6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-226-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-226.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-226.html
new file mode 100644
index 0000000..93bc9d4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-226.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-226-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2010 HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2010;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-227-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-227-expected.html
new file mode 100644
index 0000000..ef0713ad
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-227-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-227.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-227.html
new file mode 100644
index 0000000..1a5a2dc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-227.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-227-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2013 EN DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2013;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-228-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-228-expected.html
new file mode 100644
index 0000000..4f2a87d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-228-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-228.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-228.html
new file mode 100644
index 0000000..4b2c10b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-228.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-228-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 301C WAVE DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-229-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-229-expected.html
new file mode 100644
index 0000000..26e41f61
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-229-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x30A0;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x30A0;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-229.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-229.html
new file mode 100644
index 0000000..eb1f714d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-229.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-229-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x30A0;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#x30A0;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-230-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-230-expected.html
new file mode 100644
index 0000000..9a3550b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-230-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-230.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-230.html
new file mode 100644
index 0000000..8475b45
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-230.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-230-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3005 IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-231-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-231-expected.html
new file mode 100644
index 0000000..5077ac5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-231-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-231.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-231.html
new file mode 100644
index 0000000..49d86ee
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-231.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-231-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 303B VERTICAL IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-232-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-232-expected.html
new file mode 100644
index 0000000..05f7a89
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-232-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309D;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309D;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-232.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-232.html
new file mode 100644
index 0000000..c2c3fc9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-232.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-232-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 309D HIRAGANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x309D;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309D;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-233-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-233-expected.html
new file mode 100644
index 0000000..1246588
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-233-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309E;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-233.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-233.html
new file mode 100644
index 0000000..71139a55
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-233.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-233-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 309E HIRAGANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#x309E;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かか<br/>か&#x309E;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-234-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-234-expected.html
new file mode 100644
index 0000000..928158e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-234-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FD;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FD;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-234.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-234.html
new file mode 100644
index 0000000..1557e6e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-234.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-234-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30FD KATAKANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FD;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FD;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-235-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-235-expected.html
new file mode 100644
index 0000000..f30b81987
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-235-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FE;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-235.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-235.html
new file mode 100644
index 0000000..711db1ac
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-235.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-235-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30FE KATAKANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FE;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FE;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-236-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-236-expected.html
new file mode 100644
index 0000000..c1e0f7b3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-236-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-236.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-236.html
new file mode 100644
index 0000000..4023f0c7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-236.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-236-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003A COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x003A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-237-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-237-expected.html
new file mode 100644
index 0000000..13eadff
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-237-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-237.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-237.html
new file mode 100644
index 0000000..4cadcf3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-237.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-237-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003B SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x003B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-238-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-238-expected.html
new file mode 100644
index 0000000..d8b48cff
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-238-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FB;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FB;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-238.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-238.html
new file mode 100644
index 0000000..2646c20
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-238.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-238-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 30FB KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#x30FB;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#x30FB;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-239-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-239-expected.html
new file mode 100644
index 0000000..62952e0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-239-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-239.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-239.html
new file mode 100644
index 0000000..3682e08
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-239.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-239-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1A FULLWIDTH COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-240-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-240-expected.html
new file mode 100644
index 0000000..cf87937
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-240-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-240.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-240.html
new file mode 100644
index 0000000..37f1a00
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-240.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-240-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1B FULLWIDTH SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-241-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-241-expected.html
new file mode 100644
index 0000000..e7ff1165
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-241-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#xFF65;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#xFF65;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-241.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-241.html
new file mode 100644
index 0000000..41b2a3a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-241.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-241-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF65 HALFWIDTH KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>カカカ&#xFF65;ナ</div>
+
+
+
+
+
+<div class='ref' lang='ja'>カカ<br/>カ&#xFF65;ナ</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-242-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-242-expected.html
new file mode 100644
index 0000000..e569774
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-242-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-242.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-242.html
new file mode 100644
index 0000000..7658d401
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-242.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-242-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0021 EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x0021;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-243-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-243-expected.html
new file mode 100644
index 0000000..5820afd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-243-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-243.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-243.html
new file mode 100644
index 0000000..b6d70f6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-243.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-243-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003F QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x003F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-244-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-244-expected.html
new file mode 100644
index 0000000..a8835262
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-244-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-244.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-244.html
new file mode 100644
index 0000000..2a622eff
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-244.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-244-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 203C DOUBLE EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-245-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-245-expected.html
new file mode 100644
index 0000000..ca7b8897
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-245-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-245.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-245.html
new file mode 100644
index 0000000..cf13dbc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-245.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-245-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2047 DOUBLE QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2047;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-246-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-246-expected.html
new file mode 100644
index 0000000..6a3b091
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-246-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-246.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-246.html
new file mode 100644
index 0000000..c84da00
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-246.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-246-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2048 QUESTION EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2048;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-247-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-247-expected.html
new file mode 100644
index 0000000..2831f35
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-247-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-247.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-247.html
new file mode 100644
index 0000000..014b94b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-247.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-247-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2049 EXCLAMATION QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2049;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-248-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-248-expected.html
new file mode 100644
index 0000000..f753c11
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-248-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-248.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-248.html
new file mode 100644
index 0000000..c1bc06b7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-248.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-248-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF01 FULLWIDTH EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF01;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-249-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-249-expected.html
new file mode 100644
index 0000000..251913794
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-249-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-249.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-249.html
new file mode 100644
index 0000000..a483f263b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-249.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-249-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1F FULLWIDTH QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF1F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-250-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-250-expected.html
new file mode 100644
index 0000000..c079be49
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-250-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-250.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-250.html
new file mode 100644
index 0000000..fbf0c4d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-250.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-250-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0025 PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x0025;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-251-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-251-expected.html
new file mode 100644
index 0000000..d275047
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-251-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-251.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-251.html
new file mode 100644
index 0000000..0aadd40f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-251.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-251-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 00A2 CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x00A2;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-252-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-252-expected.html
new file mode 100644
index 0000000..2dff33de
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-252-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-252.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-252.html
new file mode 100644
index 0000000..1921d9a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-252.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-252-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 00B0 DEGREE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x00B0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-254-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-254-expected.html
new file mode 100644
index 0000000..894cfdd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-254-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-254.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-254.html
new file mode 100644
index 0000000..8a126294
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-254.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-254-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2030 PER MILLE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2030;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-255-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-255-expected.html
new file mode 100644
index 0000000..6e35da9d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-255-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-255.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-255.html
new file mode 100644
index 0000000..66d541be
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-255.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-255-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2032 PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2032;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-256-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-256-expected.html
new file mode 100644
index 0000000..1e8aa55a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-256-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-256.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-256.html
new file mode 100644
index 0000000..2a82bf1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-256.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-256-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2033 DOUBLE PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2033;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-257-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-257-expected.html
new file mode 100644
index 0000000..41d81e1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-257-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-257.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-257.html
new file mode 100644
index 0000000..219052e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-257.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-257-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2103 DEGREE CELSIUS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#x2103;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-258-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-258-expected.html
new file mode 100644
index 0000000..37e0373
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-258-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-258.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-258.html
new file mode 100644
index 0000000..c49f32d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-258.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-258-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF05 FULLWIDTH PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFF05;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-259-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-259-expected.html
new file mode 100644
index 0000000..69813c628
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-259-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-259.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-259.html
new file mode 100644
index 0000000..cc8ce14
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-259.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-259-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FFE0 FULLWIDTH CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>中中中&#xFFE0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-260-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-260-expected.html
new file mode 100644
index 0000000..7159ce5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-260-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref' lang='ja'>かかか<br/>&#xFF70;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#xFF70;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-260.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-260.html
new file mode 100644
index 0000000..477ac4c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-260.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  (normal,ja)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-260-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='ja'>かかか&#xFF70;な</div>
+
+
+
+
+
+<div class='ref' lang='ja'>かかか<br/>&#xFF70;な</div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-301-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-301-expected.html
new file mode 100644
index 0000000..5bb7d5f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-301-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2010;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2010;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-301.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-301.html
new file mode 100644
index 0000000..7d13d94
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-301.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-301-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2010 HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2010;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2010;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-302-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-302-expected.html
new file mode 100644
index 0000000..e44fb584
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-302-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2013;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2013;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-302.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-302.html
new file mode 100644
index 0000000..d03fb4c0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-302.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-302-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2013 EN DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2013;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2013;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-303-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-303-expected.html
new file mode 100644
index 0000000..7751e4f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-303-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x301C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x301C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-303.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-303.html
new file mode 100644
index 0000000..9bcb83c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-303.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-303-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 301C WAVE DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x301C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-304-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-304-expected.html
new file mode 100644
index 0000000..5e61f71
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-304-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-304.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-304.html
new file mode 100644
index 0000000..46ae182b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-304.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-304-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3005 IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-305-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-305-expected.html
new file mode 100644
index 0000000..c8c7546
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-305-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-305.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-305.html
new file mode 100644
index 0000000..04aaae93
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-305.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-305-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 303B VERTICAL IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-306-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-306-expected.html
new file mode 100644
index 0000000..09eb9f5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-306-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-306.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-306.html
new file mode 100644
index 0000000..d719ef24
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-306.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-306-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003A COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x003A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-307-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-307-expected.html
new file mode 100644
index 0000000..0c5c67b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-307-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-307.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-307.html
new file mode 100644
index 0000000..ad10a0e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-307.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-307-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003B SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x003B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-308-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-308-expected.html
new file mode 100644
index 0000000..f7f0abcf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-308-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-308.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-308.html
new file mode 100644
index 0000000..fc668cc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-308.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-308-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1A FULLWIDTH COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-309-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-309-expected.html
new file mode 100644
index 0000000..8daed83
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-309-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-309.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-309.html
new file mode 100644
index 0000000..2fc5cfc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-309.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-309-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1B FULLWIDTH SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-310-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-310-expected.html
new file mode 100644
index 0000000..a7b64b1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-310-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-310.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-310.html
new file mode 100644
index 0000000..594184c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-310.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-310-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0021 EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x0021;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-311-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-311-expected.html
new file mode 100644
index 0000000..526267d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-311-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-311.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-311.html
new file mode 100644
index 0000000..4f928dd8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-311.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-311-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003F QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x003F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-312-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-312-expected.html
new file mode 100644
index 0000000..8adf219
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-312-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-312.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-312.html
new file mode 100644
index 0000000..6c3b306
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-312.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-312-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 203C DOUBLE EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-313-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-313-expected.html
new file mode 100644
index 0000000..bb0ac88
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-313-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-313.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-313.html
new file mode 100644
index 0000000..e011829
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-313.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-313-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2047 DOUBLE QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2047;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-314-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-314-expected.html
new file mode 100644
index 0000000..2ca1380
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-314-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-314.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-314.html
new file mode 100644
index 0000000..aae8693
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-314.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-314-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2048 QUESTION EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2048;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-315-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-315-expected.html
new file mode 100644
index 0000000..b7cab764
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-315-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-315.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-315.html
new file mode 100644
index 0000000..39e3ef5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-315.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-315-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2049 EXCLAMATION QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2049;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-316-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-316-expected.html
new file mode 100644
index 0000000..1faed68
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-316-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-316.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-316.html
new file mode 100644
index 0000000..ae461ab8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-316.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-316-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF01 FULLWIDTH EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF01;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-317-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-317-expected.html
new file mode 100644
index 0000000..a44d4ad
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-317-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-317.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-317.html
new file mode 100644
index 0000000..02ae848
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-317.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-317-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1F FULLWIDTH QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF1F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-318-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-318-expected.html
new file mode 100644
index 0000000..66bb4743
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-318-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-318.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-318.html
new file mode 100644
index 0000000..a9c97ca
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-318.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-318-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0025 PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x0025;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-319-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-319-expected.html
new file mode 100644
index 0000000..cc15f6d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-319-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-319.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-319.html
new file mode 100644
index 0000000..8c4f025
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-319.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-319-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 00A2 CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x00A2;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-320-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-320-expected.html
new file mode 100644
index 0000000..89a1007
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-320-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-320.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-320.html
new file mode 100644
index 0000000..360a4a0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-320.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-320-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 00B0 DEGREE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x00B0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-321-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-321-expected.html
new file mode 100644
index 0000000..66bb4743
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-321-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-321.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-321.html
new file mode 100644
index 0000000..90f3b59
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-321.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-321-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0025 PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x0025;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-322-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-322-expected.html
new file mode 100644
index 0000000..ada9a89
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-322-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-322.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-322.html
new file mode 100644
index 0000000..b0e1dd0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-322.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-322-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2030 PER MILLE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2030;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-323-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-323-expected.html
new file mode 100644
index 0000000..83551529
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-323-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-323.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-323.html
new file mode 100644
index 0000000..5ea214fa
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-323.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-323-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2032 PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2032;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-324-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-324-expected.html
new file mode 100644
index 0000000..e0bf580
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-324-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-324.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-324.html
new file mode 100644
index 0000000..6ddaa02
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-324.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-324-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2033 DOUBLE PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2033;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-325-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-325-expected.html
new file mode 100644
index 0000000..a6f8298
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-325-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-325.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-325.html
new file mode 100644
index 0000000..3209941
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-325.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-325-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2103 DEGREE CELSIUS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2103;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-326-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-326-expected.html
new file mode 100644
index 0000000..2b65a96
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-326-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-326.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-326.html
new file mode 100644
index 0000000..91656bc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-326.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-326-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF05 FULLWIDTH PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF05;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-327-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-327-expected.html
new file mode 100644
index 0000000..e65e106
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-327-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-327.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-327.html
new file mode 100644
index 0000000..2098762
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-327.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (strict,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-327-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FFE0 FULLWIDTH CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: strict; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFFE0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-351-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-351-expected.html
new file mode 100644
index 0000000..8ad0771
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-351-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-351.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-351.html
new file mode 100644
index 0000000..b12a06d9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-351.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-351-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2010 HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2010;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-352-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-352-expected.html
new file mode 100644
index 0000000..7e14598
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-352-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-352.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-352.html
new file mode 100644
index 0000000..06ad238
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-352.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-352-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2013 EN DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2013;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-353-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-353-expected.html
new file mode 100644
index 0000000..083dccfe
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-353-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-353.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-353.html
new file mode 100644
index 0000000..ca309ad
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-353.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-353-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 301C WAVE DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-354-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-354-expected.html
new file mode 100644
index 0000000..c11bf72
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-354-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x3005;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x3005;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-354.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-354.html
new file mode 100644
index 0000000..0e6710f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-354.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-354-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 3005 IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x3005;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-355-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-355-expected.html
new file mode 100644
index 0000000..86de244
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-355-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x303B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x303B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-355.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-355.html
new file mode 100644
index 0000000..4764b798
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-355.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-355-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 303B VERTICAL IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x303B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-356-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-356-expected.html
new file mode 100644
index 0000000..3de9dfd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-356-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x003A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-356.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-356.html
new file mode 100644
index 0000000..2fa6f1b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-356.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-356-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 003A COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x003A;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-357-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-357-expected.html
new file mode 100644
index 0000000..213c8df
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-357-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x003B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-357.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-357.html
new file mode 100644
index 0000000..9215c36
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-357.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-357-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 003B SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x003B;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-358-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-358-expected.html
new file mode 100644
index 0000000..fb161ae
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-358-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF1A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-358.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-358.html
new file mode 100644
index 0000000..6b546604
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-358.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-358-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF1A FULLWIDTH COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-359-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-359-expected.html
new file mode 100644
index 0000000..c67c3e6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-359-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF1B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-359.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-359.html
new file mode 100644
index 0000000..15f345b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-359.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-359-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF1B FULLWIDTH SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-360-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-360-expected.html
new file mode 100644
index 0000000..354d399
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-360-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x0021;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0021;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-360.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-360.html
new file mode 100644
index 0000000..47c7539e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-360.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-360-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 0021 EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x0021;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0021;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-361-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-361-expected.html
new file mode 100644
index 0000000..333c656
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-361-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x003F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-361.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-361.html
new file mode 100644
index 0000000..3dec31c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-361.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-361-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 003F QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x003F;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x003F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-362-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-362-expected.html
new file mode 100644
index 0000000..60bbe87d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-362-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x203C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x203C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-362.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-362.html
new file mode 100644
index 0000000..38b8d5012
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-362.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-362-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 203C DOUBLE EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x203C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-363-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-363-expected.html
new file mode 100644
index 0000000..cad918b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-363-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2047;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2047;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-363.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-363.html
new file mode 100644
index 0000000..eb45cb7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-363.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-363-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2047 DOUBLE QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2047;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2047;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-364-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-364-expected.html
new file mode 100644
index 0000000..d155cc2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-364-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2048;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2048;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-364.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-364.html
new file mode 100644
index 0000000..a2287e8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-364.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-364-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2048 QUESTION EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2048;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2048;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-365-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-365-expected.html
new file mode 100644
index 0000000..2bd8206
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-365-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2049;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2049;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-365.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-365.html
new file mode 100644
index 0000000..fe53b1d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-365.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-365-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2049 EXCLAMATION QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2049;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2049;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-366-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-366-expected.html
new file mode 100644
index 0000000..e95122a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-366-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF01;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF01;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-366.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-366.html
new file mode 100644
index 0000000..b4e2406
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-366.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-366-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF01 FULLWIDTH EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF01;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF01;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-367-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-367-expected.html
new file mode 100644
index 0000000..a53267e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-367-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF1F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-367.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-367.html
new file mode 100644
index 0000000..1cf73e4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-367.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-367-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF1F FULLWIDTH QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF1F;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF1F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-368-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-368-expected.html
new file mode 100644
index 0000000..ceec63b0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-368-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x0025;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0025;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-368.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-368.html
new file mode 100644
index 0000000..66681047
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-368.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-368-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 0025 PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x0025;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0025;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-369-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-369-expected.html
new file mode 100644
index 0000000..70bbe1e5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-369-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x00A2;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x00A2;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-369.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-369.html
new file mode 100644
index 0000000..e991692
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-369.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-369-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 00A2 CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x00A2;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x00A2;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-370-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-370-expected.html
new file mode 100644
index 0000000..078d2e01
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-370-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x00B0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x00B0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-370.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-370.html
new file mode 100644
index 0000000..a00ffec
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-370.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-370-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 00B0 DEGREE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x00B0;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x00B0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-371-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-371-expected.html
new file mode 100644
index 0000000..ceec63b0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-371-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x0025;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0025;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-371.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-371.html
new file mode 100644
index 0000000..665ecb0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-371.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-371-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 0025 PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x0025;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x0025;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-372-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-372-expected.html
new file mode 100644
index 0000000..091a993
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-372-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2030;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2030;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-372.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-372.html
new file mode 100644
index 0000000..5583606
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-372.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-372-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2030 PER MILLE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2030;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2030;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-373-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-373-expected.html
new file mode 100644
index 0000000..a6a8233
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-373-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2032;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2032;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-373.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-373.html
new file mode 100644
index 0000000..e9730f6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-373.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-373-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2032 PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2032;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2032;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-374-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-374-expected.html
new file mode 100644
index 0000000..ff3cd82
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-374-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2033;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2033;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-374.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-374.html
new file mode 100644
index 0000000..884c40f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-374.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-374-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2033 DOUBLE PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2033;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2033;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-375-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-375-expected.html
new file mode 100644
index 0000000..2dc1d6a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-375-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2103;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2103;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-375.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-375.html
new file mode 100644
index 0000000..69c50d2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-375.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-375-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2103 DEGREE CELSIUS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2103;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2103;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-376-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-376-expected.html
new file mode 100644
index 0000000..1950f09
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-376-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFF05;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF05;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-376.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-376.html
new file mode 100644
index 0000000..cd83e38
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-376.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-376-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FF05 FULLWIDTH PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF05;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFF05;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-377-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-377-expected.html
new file mode 100644
index 0000000..a93cae7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-377-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#xFFE0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFFE0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-377.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-377.html
new file mode 100644
index 0000000..13d1d95
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-377.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (loose,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-377-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow FFE0 FULLWIDTH CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: loose; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFFE0;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#xFFE0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-401-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-401-expected.html
new file mode 100644
index 0000000..8f82027
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-401-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-401.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-401.html
new file mode 100644
index 0000000..0ae3a9f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-401.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2010 HYPHEN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-401-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2010 HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2010;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2010;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-402-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-402-expected.html
new file mode 100644
index 0000000..79972945
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-402-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-402.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-402.html
new file mode 100644
index 0000000..0be9560
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-402.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2013 EN DASH (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-402-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 2013 EN DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2013;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x2013;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-403-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-403-expected.html
new file mode 100644
index 0000000..244d796
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-403-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-403.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-403.html
new file mode 100644
index 0000000..8731724
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-403.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-403-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will allow 301C WAVE DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中中<br/>&#x301C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-404-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-404-expected.html
new file mode 100644
index 0000000..0b1a2a9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-404-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-404.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-404.html
new file mode 100644
index 0000000..d5f62212
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-404.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-404-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 3005 IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x3005;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-405-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-405-expected.html
new file mode 100644
index 0000000..d4f16f0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-405-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-405.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-405.html
new file mode 100644
index 0000000..d668d3b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-405.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-405-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 303B VERTICAL IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x303B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-406-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-406-expected.html
new file mode 100644
index 0000000..b34a729
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-406-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-406.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-406.html
new file mode 100644
index 0000000..87aadb0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-406.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003A COLON (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-406-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003A COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x003A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-407-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-407-expected.html
new file mode 100644
index 0000000..756d464
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-407-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-407.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-407.html
new file mode 100644
index 0000000..9e50b2f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-407.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003B SEMICOLON (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-407-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003B SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x003B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-408-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-408-expected.html
new file mode 100644
index 0000000..1ca14df
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-408-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-408.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-408.html
new file mode 100644
index 0000000..8ecabda2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-408.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-408-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1A FULLWIDTH COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1A;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-409-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-409-expected.html
new file mode 100644
index 0000000..3676b08
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-409-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-409.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-409.html
new file mode 100644
index 0000000..76899206
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-409.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-409-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1B FULLWIDTH SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1B;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-410-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-410-expected.html
new file mode 100644
index 0000000..60d42af
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-410-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-410.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-410.html
new file mode 100644
index 0000000..a4b6ad2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-410.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-410-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0021 EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x0021;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0021;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-411-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-411-expected.html
new file mode 100644
index 0000000..53a27cf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-411-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-411.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-411.html
new file mode 100644
index 0000000..8a609ae5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-411.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 003F QUESTION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-411-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 003F QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x003F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x003F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-412-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-412-expected.html
new file mode 100644
index 0000000..ca56b2b6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-412-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-412.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-412.html
new file mode 100644
index 0000000..60a82ad
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-412.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-412-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 203C DOUBLE EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x203C;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-413-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-413-expected.html
new file mode 100644
index 0000000..8bf542a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-413-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-413.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-413.html
new file mode 100644
index 0000000..5e9914d5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-413.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2047 DOUBLE QUESTION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-413-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2047 DOUBLE QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2047;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2047;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-414-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-414-expected.html
new file mode 100644
index 0000000..c33fa95
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-414-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-414.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-414.html
new file mode 100644
index 0000000..102b72c6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-414.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2048 QUESTION EXCLAMATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-414-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2048 QUESTION EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2048;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2048;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-415-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-415-expected.html
new file mode 100644
index 0000000..dd509a047
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-415-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-415.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-415.html
new file mode 100644
index 0000000..09f07fbb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-415.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2049 EXCLAMATION QUESTION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-415-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2049 EXCLAMATION QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2049;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2049;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-416-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-416-expected.html
new file mode 100644
index 0000000..95c0e95
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-416-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-416.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-416.html
new file mode 100644
index 0000000..91eebc2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-416.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF01 FULLWIDTH EXCLAMATION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-416-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF01 FULLWIDTH EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF01;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF01;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-417-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-417-expected.html
new file mode 100644
index 0000000..e30955d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-417-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-417.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-417.html
new file mode 100644
index 0000000..951a2d7a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-417.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1F FULLWIDTH QUESTION MARK (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-417-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF1F FULLWIDTH QUESTION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF1F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF1F;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-418-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-418-expected.html
new file mode 100644
index 0000000..446cfd0c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-418-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-418.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-418.html
new file mode 100644
index 0000000..d32be5c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-418.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-418-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0025 PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x0025;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-419-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-419-expected.html
new file mode 100644
index 0000000..e27da58
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-419-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-419.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-419.html
new file mode 100644
index 0000000..3c7c56a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-419.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-419-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 00A2 CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x00A2;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00A2;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-420-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-420-expected.html
new file mode 100644
index 0000000..4f6e3a2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-420-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-420.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-420.html
new file mode 100644
index 0000000..3709fa9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-420.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 00B0 DEGREE SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-420-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 00B0 DEGREE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x00B0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x00B0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-421-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-421-expected.html
new file mode 100644
index 0000000..446cfd0c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-421-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-421.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-421.html
new file mode 100644
index 0000000..c09d4225
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-421.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-421-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 0025 PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x0025;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x0025;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-422-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-422-expected.html
new file mode 100644
index 0000000..a5aa9ebf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-422-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-422.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-422.html
new file mode 100644
index 0000000..1513cb10c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-422.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2030 PER MILLE SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-422-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2030 PER MILLE SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2030;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2030;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-423-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-423-expected.html
new file mode 100644
index 0000000..f604ab8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-423-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-423.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-423.html
new file mode 100644
index 0000000..5ed7cf9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-423.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2032 PRIME (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-423-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2032 PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2032;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2032;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-424-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-424-expected.html
new file mode 100644
index 0000000..d3cd9b6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-424-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-424.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-424.html
new file mode 100644
index 0000000..13c0cdd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-424.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2033 DOUBLE PRIME (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-424-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2033 DOUBLE PRIME at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2033;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2033;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-425-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-425-expected.html
new file mode 100644
index 0000000..ad15219
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-425-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-425.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-425.html
new file mode 100644
index 0000000..b617fbd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-425.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2103 DEGREE CELSIUS (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-425-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow 2103 DEGREE CELSIUS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#x2103;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#x2103;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-426-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-426-expected.html
new file mode 100644
index 0000000..8a252b67
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-426-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-426.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-426.html
new file mode 100644
index 0000000..05b037d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-426.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF05 FULLWIDTH PERCENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-426-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FF05 FULLWIDTH PERCENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFF05;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFF05;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-427-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-427-expected.html
new file mode 100644
index 0000000..4fbe2c8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-427-expected.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-427.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-427.html
new file mode 100644
index 0000000..4571c84
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-jazh-427.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FFE0 FULLWIDTH CENT SIGN (normal,zh)</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'>
+<link rel="match" href="reference/css3-text-line-break-jazh-427-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will NOT allow FFE0 FULLWIDTH CENT SIGN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.name { font-size: 10px; }
+.test { line-break: normal; }
+</style>
+</head>
+<body>
+<p class='instructions'>Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test' lang='zh'>中中中&#xFFE0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br/>中&#xFFE0;文</div></div>
+
+
+<!--Notes:
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-001-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-001-expected.html
new file mode 100644
index 0000000..f3096bab
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-001-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0028 LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x0028;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0028;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-001.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-001.html
new file mode 100644
index 0000000..789a62ed
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-001.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0028 LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-001-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 0028 LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x0028;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0028;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-002-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-002-expected.html
new file mode 100644
index 0000000..718db26f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-002-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 005B LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x005B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x005B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-002.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-002.html
new file mode 100644
index 0000000..a012954
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-002.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 005B LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-002-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 005B LEFT SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x005B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x005B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-003-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-003-expected.html
new file mode 100644
index 0000000..3fa9344
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-003-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 007B LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x007B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x007B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-003.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-003.html
new file mode 100644
index 0000000..a31b715
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-003.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 007B LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-003-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 007B LEFT CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x007B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x007B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-004-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-004-expected.html
new file mode 100644
index 0000000..c7c5fd8c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-004-expected.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3A TIBETAN MARK GUG RTAGS GYON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.test, .ref { width: 115px; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x0F3A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0F3A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-004.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-004.html
new file mode 100644
index 0000000..2a83479
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-004.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3A TIBETAN MARK GUG RTAGS GYON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-004-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 0F3A TIBETAN MARK GUG RTAGS GYON at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.test, .ref { width: 115px; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x0F3A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0F3A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-005-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-005-expected.html
new file mode 100644
index 0000000..372b5754
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-005-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3C TIBETAN MARK ANG KHANG GYON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x0F3C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0F3C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-005.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-005.html
new file mode 100644
index 0000000..248e1e8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-005.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3C TIBETAN MARK ANG KHANG GYON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-005-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 0F3C TIBETAN MARK ANG KHANG GYON at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x0F3C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0F3C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-006-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-006-expected.html
new file mode 100644
index 0000000..56405f03
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-006-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 169B OGHAM FEATHER MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x169B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x169B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-006.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-006.html
new file mode 100644
index 0000000..6a5a33d7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-006.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 169B OGHAM FEATHER MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-006-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 169B OGHAM FEATHER MARK at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x169B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x169B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-007-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-007-expected.html
new file mode 100644
index 0000000..aede8325
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-007-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 201A SINGLE LOW-9 QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x201A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x201A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-007.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-007.html
new file mode 100644
index 0000000..e9ffed3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-007.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 201A SINGLE LOW-9 QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-007-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 201A SINGLE LOW-9 QUOTATION MARK at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x201A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x201A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-008-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-008-expected.html
new file mode 100644
index 0000000..95b91984
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-008-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 201E DOUBLE LOW-9 QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x201E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x201E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-008.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-008.html
new file mode 100644
index 0000000..17f4cb3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-008.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 201E DOUBLE LOW-9 QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-008-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 201E DOUBLE LOW-9 QUOTATION MARK at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x201E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x201E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-009-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-009-expected.html
new file mode 100644
index 0000000..efc16925
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-009-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2045 LEFT SQUARE BRACKET WITH QUILL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2045;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2045;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-009.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-009.html
new file mode 100644
index 0000000..d938db9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-009.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2045 LEFT SQUARE BRACKET WITH QUILL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-009-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2045 LEFT SQUARE BRACKET WITH QUILL at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2045;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2045;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-010-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-010-expected.html
new file mode 100644
index 0000000..b69e2a4e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-010-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 207D SUPERSCRIPT LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x207D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x207D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-010.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-010.html
new file mode 100644
index 0000000..1eeabbc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-010.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 207D SUPERSCRIPT LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-010-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 207D SUPERSCRIPT LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x207D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x207D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-011-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-011-expected.html
new file mode 100644
index 0000000..758c5e2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-011-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 208D SUBSCRIPT LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x208D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x208D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-011.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-011.html
new file mode 100644
index 0000000..2cbd860a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-011.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 208D SUBSCRIPT LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-011-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 208D SUBSCRIPT LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x208D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x208D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-012-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-012-expected.html
new file mode 100644
index 0000000..f22745e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-012-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2329 LEFT-POINTING ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2329;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2329;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-012.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-012.html
new file mode 100644
index 0000000..16dd07b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-012.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2329 LEFT-POINTING ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-012-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2329 LEFT-POINTING ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2329;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2329;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-013-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-013-expected.html
new file mode 100644
index 0000000..390d73f6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-013-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 23B4 TOP SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x23B4;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x23B4;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-013.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-013.html
new file mode 100644
index 0000000..7ac91da
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-013.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 23B4 TOP SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-013-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 23B4 TOP SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x23B4;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x23B4;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-014-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-014-expected.html
new file mode 100644
index 0000000..2d13d5e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-014-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2768 MEDIUM LEFT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2768;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2768;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-014.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-014.html
new file mode 100644
index 0000000..20bffb8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-014.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2768 MEDIUM LEFT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-014-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2768 MEDIUM LEFT PARENTHESIS ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2768;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2768;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-015-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-015-expected.html
new file mode 100644
index 0000000..4b2e5f8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-015-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276A MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x276A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-015.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-015.html
new file mode 100644
index 0000000..b40b3cc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-015.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276A MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-015-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 276A MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x276A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-016-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-016-expected.html
new file mode 100644
index 0000000..da8e8911
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-016-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276C MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x276C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-016.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-016.html
new file mode 100644
index 0000000..139b617
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-016.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276C MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-016-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 276C MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x276C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-017-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-017-expected.html
new file mode 100644
index 0000000..a76b080
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-017-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276E HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x276E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-017.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-017.html
new file mode 100644
index 0000000..f1a4f0d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-017.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276E HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-017-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 276E HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x276E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-018-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-018-expected.html
new file mode 100644
index 0000000..f174844a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-018-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2770;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2770;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-018.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-018.html
new file mode 100644
index 0000000..98980943
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-018.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-018-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2770;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2770;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-019-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-019-expected.html
new file mode 100644
index 0000000..15931bc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-019-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2772;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2772;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-019.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-019.html
new file mode 100644
index 0000000..2a4eaee
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-019.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-019-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2772;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2772;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-020-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-020-expected.html
new file mode 100644
index 0000000..7abbc155
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-020-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2774 MEDIUM LEFT CURLY BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2774;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2774;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-020.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-020.html
new file mode 100644
index 0000000..097ddbe
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-020.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2774 MEDIUM LEFT CURLY BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-020-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2774 MEDIUM LEFT CURLY BRACKET ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2774;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2774;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-021-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-021-expected.html
new file mode 100644
index 0000000..d8d5db32
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-021-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x27E6;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27E6;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-021.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-021.html
new file mode 100644
index 0000000..b18e277
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-021.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-021-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x27E6;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27E6;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-022-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-022-expected.html
new file mode 100644
index 0000000..0ed70d2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-022-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E8 MATHEMATICAL LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x27E8;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27E8;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-022.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-022.html
new file mode 100644
index 0000000..69f91b8c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-022.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E8 MATHEMATICAL LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-022-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 27E8 MATHEMATICAL LEFT ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x27E8;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27E8;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-023-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-023-expected.html
new file mode 100644
index 0000000..90b481c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-023-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x27EA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27EA;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-023.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-023.html
new file mode 100644
index 0000000..e76e59da
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-023.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-023-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x27EA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27EA;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-024-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-024-expected.html
new file mode 100644
index 0000000..3edd485
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-024-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2983 LEFT WHITE CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2983;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2983;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-024.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-024.html
new file mode 100644
index 0000000..771a031
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-024.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2983 LEFT WHITE CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-024-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2983 LEFT WHITE CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2983;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2983;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-025-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-025-expected.html
new file mode 100644
index 0000000..d0cf821
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-025-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2985 LEFT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2985;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2985;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-025.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-025.html
new file mode 100644
index 0000000..dac9fe1a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-025.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2985 LEFT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-025-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2985 LEFT WHITE PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2985;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2985;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-026-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-026-expected.html
new file mode 100644
index 0000000..c07166a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-026-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2987 Z NOTATION LEFT IMAGE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2987;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2987;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-026.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-026.html
new file mode 100644
index 0000000..2ec7347
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-026.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2987 Z NOTATION LEFT IMAGE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-026-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2987 Z NOTATION LEFT IMAGE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2987;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2987;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-027-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-027-expected.html
new file mode 100644
index 0000000..95389bd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-027-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2989 Z NOTATION LEFT BINDING BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2989;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2989;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-027.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-027.html
new file mode 100644
index 0000000..0ea87e1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-027.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2989 Z NOTATION LEFT BINDING BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-027-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2989 Z NOTATION LEFT BINDING BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2989;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2989;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-028-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-028-expected.html
new file mode 100644
index 0000000..5712dde
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-028-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298B LEFT SQUARE BRACKET WITH UNDERBAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x298B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-028.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-028.html
new file mode 100644
index 0000000..6a3ff04
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-028.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298B LEFT SQUARE BRACKET WITH UNDERBAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-028-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 298B LEFT SQUARE BRACKET WITH UNDERBAR at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x298B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-029-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-029-expected.html
new file mode 100644
index 0000000..56baf91
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-029-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x298D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-029.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-029.html
new file mode 100644
index 0000000..b4bafa4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-029.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-029-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x298D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-030-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-030-expected.html
new file mode 100644
index 0000000..66b6dbd8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-030-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x298F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-030.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-030.html
new file mode 100644
index 0000000..7cf5ee6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-030.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-030-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x298F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-031-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-031-expected.html
new file mode 100644
index 0000000..e77e366
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-031-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2991 LEFT ANGLE BRACKET WITH DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2991;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2991;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-031.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-031.html
new file mode 100644
index 0000000..e45bd31
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-031.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2991 LEFT ANGLE BRACKET WITH DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-031-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2991 LEFT ANGLE BRACKET WITH DOT at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2991;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2991;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-032-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-032-expected.html
new file mode 100644
index 0000000..ec2d5d3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-032-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2993 LEFT ARC LESS-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2993;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2993;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-032.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-032.html
new file mode 100644
index 0000000..9cdcea0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-032.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2993 LEFT ARC LESS-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-032-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2993 LEFT ARC LESS-THAN BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2993;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2993;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-033-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-033-expected.html
new file mode 100644
index 0000000..97062ac9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-033-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2995 DOUBLE LEFT ARC GREATER-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2995;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2995;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-033.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-033.html
new file mode 100644
index 0000000..116237fc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-033.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2995 DOUBLE LEFT ARC GREATER-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-033-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2995 DOUBLE LEFT ARC GREATER-THAN BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2995;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2995;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-034-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-034-expected.html
new file mode 100644
index 0000000..416c990
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-034-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2997 LEFT BLACK TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2997;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2997;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-034.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-034.html
new file mode 100644
index 0000000..9e4df37
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-034.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2997 LEFT BLACK TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-034-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2997 LEFT BLACK TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2997;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2997;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-035-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-035-expected.html
new file mode 100644
index 0000000..9781294
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-035-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29D8 LEFT WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x29D8;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29D8;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-035.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-035.html
new file mode 100644
index 0000000..f9ae24a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-035.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29D8 LEFT WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-035-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 29D8 LEFT WIGGLY FENCE at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x29D8;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29D8;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-036-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-036-expected.html
new file mode 100644
index 0000000..245e3ef
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-036-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29DA LEFT DOUBLE WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x29DA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29DA;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-036.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-036.html
new file mode 100644
index 0000000..06f272b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-036.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29DA LEFT DOUBLE WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-036-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 29DA LEFT DOUBLE WIGGLY FENCE at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x29DA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29DA;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-037-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-037-expected.html
new file mode 100644
index 0000000..7dd69be
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-037-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29FC LEFT-POINTING CURVED ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x29FC;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29FC;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-037.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-037.html
new file mode 100644
index 0000000..4b8d1ed
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-037.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29FC LEFT-POINTING CURVED ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-037-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 29FC LEFT-POINTING CURVED ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x29FC;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29FC;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-038-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-038-expected.html
new file mode 100644
index 0000000..a64b364d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-038-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3008 LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3008;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3008;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-038.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-038.html
new file mode 100644
index 0000000..115bfce
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-038.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3008 LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-038-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3008 LEFT ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3008;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3008;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-039-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-039-expected.html
new file mode 100644
index 0000000..87e3e65
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-039-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300A LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x300A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-039.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-039.html
new file mode 100644
index 0000000..5f03cb5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-039.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300A LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-039-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 300A LEFT DOUBLE ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x300A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-040-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-040-expected.html
new file mode 100644
index 0000000..8c653e1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-040-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300C LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x300C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-040.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-040.html
new file mode 100644
index 0000000..868d343
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-040.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300C LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-040-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 300C LEFT CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x300C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-041-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-041-expected.html
new file mode 100644
index 0000000..89b260b2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-041-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300E LEFT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x300E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-041.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-041.html
new file mode 100644
index 0000000..a964f581
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-041.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300E LEFT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-041-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 300E LEFT WHITE CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x300E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-042-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-042-expected.html
new file mode 100644
index 0000000..477c3de5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-042-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3010 LEFT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3010;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3010;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-042.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-042.html
new file mode 100644
index 0000000..c7ea17d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-042.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3010 LEFT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-042-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3010 LEFT BLACK LENTICULAR BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3010;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3010;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-043-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-043-expected.html
new file mode 100644
index 0000000..badbdfd9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-043-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3014 LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3014;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3014;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-043.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-043.html
new file mode 100644
index 0000000..b745e88
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-043.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3014 LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-043-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3014 LEFT TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3014;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3014;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-044-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-044-expected.html
new file mode 100644
index 0000000..529a8d7d7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-044-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3016 LEFT WHITE LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3016;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3016;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-044.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-044.html
new file mode 100644
index 0000000..b2969d83
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-044.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3016 LEFT WHITE LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-044-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3016 LEFT WHITE LENTICULAR BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3016;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3016;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-045-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-045-expected.html
new file mode 100644
index 0000000..c9abd00
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-045-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3018 LEFT WHITE TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3018;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3018;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-045.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-045.html
new file mode 100644
index 0000000..14d23385
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-045.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3018 LEFT WHITE TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-045-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3018 LEFT WHITE TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3018;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3018;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-046-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-046-expected.html
new file mode 100644
index 0000000..cb3d05e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-046-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301A LEFT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x301A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x301A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-046.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-046.html
new file mode 100644
index 0000000..27b08c95
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-046.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301A LEFT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-046-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 301A LEFT WHITE SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x301A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x301A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-047-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-047-expected.html
new file mode 100644
index 0000000..cbfab1a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-047-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301D REVERSED DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x301D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x301D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-047.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-047.html
new file mode 100644
index 0000000..37fe431
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-047.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301D REVERSED DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-047-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 301D REVERSED DOUBLE PRIME QUOTATION MARK at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x301D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x301D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-048-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-048-expected.html
new file mode 100644
index 0000000..014a4ab
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-048-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FD3E ORNATE LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFD3E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFD3E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-048.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-048.html
new file mode 100644
index 0000000..4396f1eb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-048.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FD3E ORNATE LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-048-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FD3E ORNATE LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFD3E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFD3E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-049-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-049-expected.html
new file mode 100644
index 0000000..2baf1c1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-049-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE35;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE35;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-049.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-049.html
new file mode 100644
index 0000000..28b68a1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-049.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-049-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE35;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE35;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-050-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-050-expected.html
new file mode 100644
index 0000000..c589a5b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-050-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE37;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE37;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-050.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-050.html
new file mode 100644
index 0000000..b2c7b1b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-050.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-050-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE37;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE37;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-051-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-051-expected.html
new file mode 100644
index 0000000..c8b4629
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-051-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE39;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE39;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-051.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-051.html
new file mode 100644
index 0000000..4e4aa3f3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-051.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-051-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE39;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE39;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-052-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-052-expected.html
new file mode 100644
index 0000000..fd8badb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-052-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-052.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-052.html
new file mode 100644
index 0000000..97b7223
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-052.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-052-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-053-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-053-expected.html
new file mode 100644
index 0000000..b2a6c50
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-053-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-053.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-053.html
new file mode 100644
index 0000000..0ef842d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-053.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-053-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-054-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-054-expected.html
new file mode 100644
index 0000000..f1f5eb04
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-054-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE3F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-054.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-054.html
new file mode 100644
index 0000000..c43e5032
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-054.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-054-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE3F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-055-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-055-expected.html
new file mode 100644
index 0000000..bee05464
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-055-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE41;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE41;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-055.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-055.html
new file mode 100644
index 0000000..640971e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-055.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-055-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE41;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE41;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-056-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-056-expected.html
new file mode 100644
index 0000000..7eaa7df
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-056-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE43;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE43;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-056.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-056.html
new file mode 100644
index 0000000..a29bf48
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-056.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-056-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE43;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE43;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-057-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-057-expected.html
new file mode 100644
index 0000000..46e57cc6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-057-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE47;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE47;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-057.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-057.html
new file mode 100644
index 0000000..b195abc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-057.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-057-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE47;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE47;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-058-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-058-expected.html
new file mode 100644
index 0000000..7ef57a93
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-058-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE59 SMALL LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE59;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE59;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-058.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-058.html
new file mode 100644
index 0000000..6dada12d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-058.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE59 SMALL LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-058-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE59 SMALL LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE59;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE59;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-059-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-059-expected.html
new file mode 100644
index 0000000..3c6d119
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-059-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5B SMALL LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE5B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-059.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-059.html
new file mode 100644
index 0000000..74604d3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-059.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5B SMALL LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-059-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE5B SMALL LEFT CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE5B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-060-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-060-expected.html
new file mode 100644
index 0000000..73261af6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-060-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5D SMALL LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE5D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE5D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-060.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-060.html
new file mode 100644
index 0000000..b86fc8c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-060.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5D SMALL LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-060-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE5D SMALL LEFT TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE5D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE5D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-061-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-061-expected.html
new file mode 100644
index 0000000..5ebbdc1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-061-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF08 FULLWIDTH LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF08;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF08;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-061.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-061.html
new file mode 100644
index 0000000..0a06d783
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-061.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF08 FULLWIDTH LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-061-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF08 FULLWIDTH LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF08;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF08;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-062-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-062-expected.html
new file mode 100644
index 0000000..4491fac
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-062-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF3B FULLWIDTH LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF3B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-062.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-062.html
new file mode 100644
index 0000000..2ace3358
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-062.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF3B FULLWIDTH LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-062-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF3B FULLWIDTH LEFT SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF3B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-063-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-063-expected.html
new file mode 100644
index 0000000..311a6498
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-063-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5B FULLWIDTH LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF5B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-063.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-063.html
new file mode 100644
index 0000000..83f5158c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-063.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5B FULLWIDTH LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-063-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF5B FULLWIDTH LEFT CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF5B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-064-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-064-expected.html
new file mode 100644
index 0000000..39626a6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-064-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5F FULLWIDTH LEFT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF5F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF5F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-064.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-064.html
new file mode 100644
index 0000000..1f1685c5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-064.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5F FULLWIDTH LEFT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-064-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF5F FULLWIDTH LEFT WHITE PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF5F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF5F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-065-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-065-expected.html
new file mode 100644
index 0000000..db46c517
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-065-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF62 HALFWIDTH LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF62;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF62;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-065.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-065.html
new file mode 100644
index 0000000..8751449
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-065.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF62 HALFWIDTH LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-065-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF62 HALFWIDTH LEFT CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF62;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF62;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-100-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-100-expected.html
new file mode 100644
index 0000000..131f677e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-100-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3001 IDEOGRAPHIC COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3001;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3001;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-100.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-100.html
new file mode 100644
index 0000000..395f53052
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-100.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3001 IDEOGRAPHIC COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-100-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3001 IDEOGRAPHIC COMMA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3001;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3001;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-101-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-101-expected.html
new file mode 100644
index 0000000..4b817c53
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-101-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3002 IDEOGRAPHIC FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3002;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3002;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-101.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-101.html
new file mode 100644
index 0000000..0129099
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-101.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3002 IDEOGRAPHIC FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-101-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3002 IDEOGRAPHIC FULL STOP at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3002;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3002;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-102-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-102-expected.html
new file mode 100644
index 0000000..a24eac2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-102-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE50 SMALL COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE50;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE50;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-102.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-102.html
new file mode 100644
index 0000000..ced2a60
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-102.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE50 SMALL COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-102-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE50 SMALL COMMA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE50;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE50;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-103-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-103-expected.html
new file mode 100644
index 0000000..f5920c3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-103-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE52 SMALL FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE52;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE52;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-103.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-103.html
new file mode 100644
index 0000000..18c823f09
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-103.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE52 SMALL FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-103-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE52 SMALL FULL STOP at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE52;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE52;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-104-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-104-expected.html
new file mode 100644
index 0000000..d0ed40849
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-104-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF0C FULLWIDTH COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF0C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF0C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-104.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-104.html
new file mode 100644
index 0000000..c4c8a12
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-104.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF0C FULLWIDTH COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-104-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF0C FULLWIDTH COMMA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF0C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF0C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-105-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-105-expected.html
new file mode 100644
index 0000000..dc3ba30
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-105-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF0E FULLWIDTH FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF0E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF0E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-105.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-105.html
new file mode 100644
index 0000000..766888da
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-105.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF0E FULLWIDTH FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-105-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF0E FULLWIDTH FULL STOP at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF0E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF0E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-106-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-106-expected.html
new file mode 100644
index 0000000..66cb1ac
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-106-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF61 HALFWIDTH IDEOGRAPHIC FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF61;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF61;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-106.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-106.html
new file mode 100644
index 0000000..aaac66b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-106.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF61 HALFWIDTH IDEOGRAPHIC FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-106-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF61 HALFWIDTH IDEOGRAPHIC FULL STOP at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF61;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF61;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-107-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-107-expected.html
new file mode 100644
index 0000000..1716855
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-107-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF64 HALFWIDTH IDEOGRAPHIC COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF64;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF64;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-107.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-107.html
new file mode 100644
index 0000000..300fa19e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-107.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF64 HALFWIDTH IDEOGRAPHIC COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-107-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF64 HALFWIDTH IDEOGRAPHIC COMMA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF64;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF64;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-108-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-108-expected.html
new file mode 100644
index 0000000..415d8d8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-108-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0029 RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0029;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0029;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-108.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-108.html
new file mode 100644
index 0000000..d5db949
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-108.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0029 RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-108-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 0029 RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0029;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0029;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-109-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-109-expected.html
new file mode 100644
index 0000000..4a575e1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-109-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 005D RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x005D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x005D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-109.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-109.html
new file mode 100644
index 0000000..2518cee5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-109.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 005D RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-109-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 005D RIGHT SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x005D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x005D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-110-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-110-expected.html
new file mode 100644
index 0000000..8fb30ad
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-110-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 007D RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x007D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x007D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-110.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-110.html
new file mode 100644
index 0000000..5ef9a7a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-110.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 007D RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-110-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 007D RIGHT CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x007D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x007D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-111-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-111-expected.html
new file mode 100644
index 0000000..0cc1c68b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-111-expected.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3B TIBETAN MARK GUG RTAGS GYAS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.test, .ref { width: 115px; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0F3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0F3B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-111.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-111.html
new file mode 100644
index 0000000..baa55dd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-111.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3B TIBETAN MARK GUG RTAGS GYAS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-111-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 0F3B TIBETAN MARK GUG RTAGS GYAS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.test, .ref { width: 115px; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0F3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0F3B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-112-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-112-expected.html
new file mode 100644
index 0000000..a55ad1d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-112-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3D TIBETAN MARK ANG KHANG GYAS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0F3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0F3D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-112.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-112.html
new file mode 100644
index 0000000..94e6308
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-112.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3D TIBETAN MARK ANG KHANG GYAS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-112-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 0F3D TIBETAN MARK ANG KHANG GYAS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0F3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0F3D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-113-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-113-expected.html
new file mode 100644
index 0000000..b0c8e73
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-113-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 169C OGHAM REVERSED FEATHER MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x169C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x169C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-113.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-113.html
new file mode 100644
index 0000000..61a9272c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-113.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 169C OGHAM REVERSED FEATHER MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-113-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 169C OGHAM REVERSED FEATHER MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x169C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x169C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-114-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-114-expected.html
new file mode 100644
index 0000000..a051563d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-114-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2046 RIGHT SQUARE BRACKET WITH QUILL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2046;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2046;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-114.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-114.html
new file mode 100644
index 0000000..1bfb2f54
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-114.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2046 RIGHT SQUARE BRACKET WITH QUILL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-114-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2046 RIGHT SQUARE BRACKET WITH QUILL at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2046;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2046;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-115-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-115-expected.html
new file mode 100644
index 0000000..da280ea
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-115-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 207E SUPERSCRIPT RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x207E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x207E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-115.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-115.html
new file mode 100644
index 0000000..667fff63
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-115.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 207E SUPERSCRIPT RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-115-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 207E SUPERSCRIPT RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x207E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x207E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-116-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-116-expected.html
new file mode 100644
index 0000000..fe6e5db2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-116-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 208E SUBSCRIPT RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x208E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x208E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-116.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-116.html
new file mode 100644
index 0000000..5a787c39
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-116.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 208E SUBSCRIPT RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-116-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 208E SUBSCRIPT RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x208E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x208E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-117-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-117-expected.html
new file mode 100644
index 0000000..c576f39
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-117-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 232A RIGHT-POINTING ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x232A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x232A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-117.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-117.html
new file mode 100644
index 0000000..5f66b83
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-117.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 232A RIGHT-POINTING ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-117-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 232A RIGHT-POINTING ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x232A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x232A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-118-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-118-expected.html
new file mode 100644
index 0000000..7d16e52
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-118-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 23B5 BOTTOM SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x23B5;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x23B5;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-118.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-118.html
new file mode 100644
index 0000000..6f1f5d2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-118.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 23B5 BOTTOM SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-118-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 23B5 BOTTOM SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x23B5;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x23B5;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-119-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-119-expected.html
new file mode 100644
index 0000000..f366078
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-119-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2769 MEDIUM RIGHT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2769;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2769;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-119.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-119.html
new file mode 100644
index 0000000..ee8b9c5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-119.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2769 MEDIUM RIGHT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-119-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2769 MEDIUM RIGHT PARENTHESIS ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2769;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2769;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-120-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-120-expected.html
new file mode 100644
index 0000000..8e33361
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-120-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276B MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x276B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-120.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-120.html
new file mode 100644
index 0000000..d5c7bb18a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-120.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276B MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-120-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 276B MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x276B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-121-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-121-expected.html
new file mode 100644
index 0000000..e79e45c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-121-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276D MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x276D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-121.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-121.html
new file mode 100644
index 0000000..8cd0a0d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-121.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276D MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-121-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 276D MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x276D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-122-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-122-expected.html
new file mode 100644
index 0000000..64d21570
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-122-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x276F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-122.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-122.html
new file mode 100644
index 0000000..9baa70b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-122.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-122-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x276F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-123-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-123-expected.html
new file mode 100644
index 0000000..bb19ea3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-123-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2771;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2771;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-123.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-123.html
new file mode 100644
index 0000000..fb727a2b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-123.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-123-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2771;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2771;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-124-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-124-expected.html
new file mode 100644
index 0000000..f3c5f45
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-124-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2773;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2773;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-124.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-124.html
new file mode 100644
index 0000000..b5125d7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-124.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-124-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2773;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2773;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-125-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-125-expected.html
new file mode 100644
index 0000000..a2c136bb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-125-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2775 MEDIUM RIGHT CURLY BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2775;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2775;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-125.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-125.html
new file mode 100644
index 0000000..031bbc9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-125.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2775 MEDIUM RIGHT CURLY BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-125-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2775 MEDIUM RIGHT CURLY BRACKET ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2775;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2775;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-126-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-126-expected.html
new file mode 100644
index 0000000..65bde08
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-126-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x27E7;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27E7;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-126.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-126.html
new file mode 100644
index 0000000..2bdcd52
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-126.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-126-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x27E7;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27E7;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-127-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-127-expected.html
new file mode 100644
index 0000000..505995d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-127-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E9 MATHEMATICAL RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x27E9;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27E9;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-127.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-127.html
new file mode 100644
index 0000000..1a4b333
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-127.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E9 MATHEMATICAL RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-127-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 27E9 MATHEMATICAL RIGHT ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x27E9;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27E9;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-128-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-128-expected.html
new file mode 100644
index 0000000..a3c3e7c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-128-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x27EB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27EB;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-128.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-128.html
new file mode 100644
index 0000000..5ae6a71
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-128.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-128-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x27EB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27EB;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-129-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-129-expected.html
new file mode 100644
index 0000000..ce950fc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-129-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2984 RIGHT WHITE CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2984;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2984;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-129.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-129.html
new file mode 100644
index 0000000..ce6792ed
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-129.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2984 RIGHT WHITE CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-129-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2984 RIGHT WHITE CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2984;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2984;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-130-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-130-expected.html
new file mode 100644
index 0000000..dca9917
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-130-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2986 RIGHT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2986;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2986;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-130.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-130.html
new file mode 100644
index 0000000..04ad5cb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-130.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2986 RIGHT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-130-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2986 RIGHT WHITE PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2986;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2986;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-131-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-131-expected.html
new file mode 100644
index 0000000..4722dae
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-131-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2988 Z NOTATION RIGHT IMAGE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2988;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2988;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-131.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-131.html
new file mode 100644
index 0000000..4bdbf97
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-131.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2988 Z NOTATION RIGHT IMAGE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-131-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2988 Z NOTATION RIGHT IMAGE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2988;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2988;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-132-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-132-expected.html
new file mode 100644
index 0000000..835f6717
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-132-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298A Z NOTATION RIGHT BINDING BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x298A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-132.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-132.html
new file mode 100644
index 0000000..5259f02
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-132.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298A Z NOTATION RIGHT BINDING BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-132-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 298A Z NOTATION RIGHT BINDING BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x298A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-133-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-133-expected.html
new file mode 100644
index 0000000..737cebb7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-133-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298C RIGHT SQUARE BRACKET WITH UNDERBAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x298C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-133.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-133.html
new file mode 100644
index 0000000..c15b90d9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-133.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298C RIGHT SQUARE BRACKET WITH UNDERBAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-133-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 298C RIGHT SQUARE BRACKET WITH UNDERBAR at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x298C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-134-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-134-expected.html
new file mode 100644
index 0000000..4a14a9c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-134-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x298E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-134.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-134.html
new file mode 100644
index 0000000..6c4ab75b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-134.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-134-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x298E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-135-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-135-expected.html
new file mode 100644
index 0000000..adb3342
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-135-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2990;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2990;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-135.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-135.html
new file mode 100644
index 0000000..1ab7fb4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-135.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-135-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2990;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2990;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-136-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-136-expected.html
new file mode 100644
index 0000000..f64c344
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-136-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2992 RIGHT ANGLE BRACKET WITH DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2992;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2992;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-136.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-136.html
new file mode 100644
index 0000000..981be96
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-136.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2992 RIGHT ANGLE BRACKET WITH DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-136-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2992 RIGHT ANGLE BRACKET WITH DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2992;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2992;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-137-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-137-expected.html
new file mode 100644
index 0000000..a2a6bb8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-137-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2994 RIGHT ARC GREATER-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2994;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2994;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-137.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-137.html
new file mode 100644
index 0000000..4a255654
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-137.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2994 RIGHT ARC GREATER-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-137-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2994 RIGHT ARC GREATER-THAN BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2994;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2994;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-138-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-138-expected.html
new file mode 100644
index 0000000..d69f87a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-138-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2996 DOUBLE RIGHT ARC LESS-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2996;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2996;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-138.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-138.html
new file mode 100644
index 0000000..26241bd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-138.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2996 DOUBLE RIGHT ARC LESS-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-138-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2996 DOUBLE RIGHT ARC LESS-THAN BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2996;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2996;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-139-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-139-expected.html
new file mode 100644
index 0000000..95ee8a6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-139-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2998 RIGHT BLACK TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2998;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2998;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-139.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-139.html
new file mode 100644
index 0000000..5b510fc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-139.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2998 RIGHT BLACK TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-139-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2998 RIGHT BLACK TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2998;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2998;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-140-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-140-expected.html
new file mode 100644
index 0000000..98a92d0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-140-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29D9 RIGHT WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x29D9;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29D9;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-140.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-140.html
new file mode 100644
index 0000000..f4105af
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-140.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29D9 RIGHT WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-140-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 29D9 RIGHT WIGGLY FENCE at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x29D9;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29D9;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-141-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-141-expected.html
new file mode 100644
index 0000000..147c3868
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-141-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29DB RIGHT DOUBLE WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x29DB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29DB;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-141.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-141.html
new file mode 100644
index 0000000..32eed5b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-141.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29DB RIGHT DOUBLE WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-141-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 29DB RIGHT DOUBLE WIGGLY FENCE at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x29DB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29DB;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-142-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-142-expected.html
new file mode 100644
index 0000000..6615dd6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-142-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29FD RIGHT-POINTING CURVED ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x29FD;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29FD;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-142.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-142.html
new file mode 100644
index 0000000..523bd7a6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-142.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29FD RIGHT-POINTING CURVED ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-142-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 29FD RIGHT-POINTING CURVED ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x29FD;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29FD;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-143-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-143-expected.html
new file mode 100644
index 0000000..c2cca456
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-143-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3009 RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3009;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3009;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-143.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-143.html
new file mode 100644
index 0000000..2a98b15f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-143.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3009 RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-143-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3009 RIGHT ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3009;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3009;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-144-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-144-expected.html
new file mode 100644
index 0000000..5a4e67c1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-144-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300B RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x300B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-144.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-144.html
new file mode 100644
index 0000000..b3d28464
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-144.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300B RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-144-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 300B RIGHT DOUBLE ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x300B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-145-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-145-expected.html
new file mode 100644
index 0000000..d07c545
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-145-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300D RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x300D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-145.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-145.html
new file mode 100644
index 0000000..6abb01b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-145.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300D RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-145-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 300D RIGHT CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x300D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-146-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-146-expected.html
new file mode 100644
index 0000000..406afc9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-146-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300F RIGHT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x300F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-146.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-146.html
new file mode 100644
index 0000000..d8e487c9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-146.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300F RIGHT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-146-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 300F RIGHT WHITE CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x300F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-147-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-147-expected.html
new file mode 100644
index 0000000..f0a4bce
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-147-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3011 RIGHT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3011;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3011;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-147.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-147.html
new file mode 100644
index 0000000..eda11e0b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-147.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3011 RIGHT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-147-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3011 RIGHT BLACK LENTICULAR BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3011;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3011;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-148-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-148-expected.html
new file mode 100644
index 0000000..5f7bfcc7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-148-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3015 RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3015;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3015;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-148.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-148.html
new file mode 100644
index 0000000..8b3a4007
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-148.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3015 RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-148-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3015 RIGHT TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3015;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3015;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-149-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-149-expected.html
new file mode 100644
index 0000000..3ed8284
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-149-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3017 RIGHT WHITE LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3017;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3017;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-149.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-149.html
new file mode 100644
index 0000000..3b50a6f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-149.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3017 RIGHT WHITE LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-149-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3017 RIGHT WHITE LENTICULAR BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3017;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3017;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-150-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-150-expected.html
new file mode 100644
index 0000000..6ca720b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-150-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3019 RIGHT WHITE TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3019;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3019;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-150.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-150.html
new file mode 100644
index 0000000..de82a8b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-150.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3019 RIGHT WHITE TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-150-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3019 RIGHT WHITE TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3019;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3019;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-151-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-151-expected.html
new file mode 100644
index 0000000..cbb428c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-151-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301B RIGHT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x301B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-151.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-151.html
new file mode 100644
index 0000000..8b49c80a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-151.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301B RIGHT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-151-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 301B RIGHT WHITE SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x301B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-152-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-152-expected.html
new file mode 100644
index 0000000..b2f8d17
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-152-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301E DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x301E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-152.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-152.html
new file mode 100644
index 0000000..de35ba1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-152.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301E DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-152-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 301E DOUBLE PRIME QUOTATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x301E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-153-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-153-expected.html
new file mode 100644
index 0000000..0fb724d6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-153-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301F LOW DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x301F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-153.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-153.html
new file mode 100644
index 0000000..ce2b686a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-153.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301F LOW DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-153-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 301F LOW DOUBLE PRIME QUOTATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x301F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-154-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-154-expected.html
new file mode 100644
index 0000000..45ae857
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-154-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FD3F ORNATE RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFD3F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFD3F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-154.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-154.html
new file mode 100644
index 0000000..9690262
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-154.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FD3F ORNATE RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-154-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FD3F ORNATE RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFD3F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFD3F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-155-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-155-expected.html
new file mode 100644
index 0000000..0e6218f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-155-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE36;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE36;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-155.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-155.html
new file mode 100644
index 0000000..4375def
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-155.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-155-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE36;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE36;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-156-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-156-expected.html
new file mode 100644
index 0000000..e31f100
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-156-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE38;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE38;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-156.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-156.html
new file mode 100644
index 0000000..9befca2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-156.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-156-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE38;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE38;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-157-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-157-expected.html
new file mode 100644
index 0000000..58abe09
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-157-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE3A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-157.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-157.html
new file mode 100644
index 0000000..3a0061f0d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-157.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-157-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE3A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-158-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-158-expected.html
new file mode 100644
index 0000000..36b7ad4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-158-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE3C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-158.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-158.html
new file mode 100644
index 0000000..4e458cf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-158.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-158-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE3C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-159-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-159-expected.html
new file mode 100644
index 0000000..818de37d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-159-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE3E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-159.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-159.html
new file mode 100644
index 0000000..7069f2f5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-159.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-159-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE3E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-160-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-160-expected.html
new file mode 100644
index 0000000..410bbb8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-160-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE40;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE40;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-160.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-160.html
new file mode 100644
index 0000000..25d98c7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-160.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-160-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE40;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE40;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-161-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-161-expected.html
new file mode 100644
index 0000000..e5f85eb9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-161-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE42;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE42;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-161.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-161.html
new file mode 100644
index 0000000..039d3116
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-161.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-161-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE42;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE42;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-162-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-162-expected.html
new file mode 100644
index 0000000..88ba16e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-162-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE44;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE44;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-162.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-162.html
new file mode 100644
index 0000000..55fbc93
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-162.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-162-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE44;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE44;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-163-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-163-expected.html
new file mode 100644
index 0000000..475f18b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-163-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE48;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE48;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-163.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-163.html
new file mode 100644
index 0000000..2eb2868
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-163.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-163-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE48;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE48;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-164-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-164-expected.html
new file mode 100644
index 0000000..699488c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-164-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5A SMALL RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE5A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-164.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-164.html
new file mode 100644
index 0000000..0f0bb54
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-164.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5A SMALL RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-164-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE5A SMALL RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE5A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-165-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-165-expected.html
new file mode 100644
index 0000000..3d0fbaa
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-165-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5C SMALL RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE5C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-165.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-165.html
new file mode 100644
index 0000000..274d567
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-165.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5C SMALL RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-165-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE5C SMALL RIGHT CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE5C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-166-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-166-expected.html
new file mode 100644
index 0000000..baad0c83
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-166-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5E SMALL RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE5E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-166.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-166.html
new file mode 100644
index 0000000..d879c0c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-166.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5E SMALL RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-166-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE5E SMALL RIGHT TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE5E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-167-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-167-expected.html
new file mode 100644
index 0000000..3582e21
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-167-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF09 FULLWIDTH RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF09;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF09;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-167.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-167.html
new file mode 100644
index 0000000..5d81f5d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-167.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF09 FULLWIDTH RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-167-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF09 FULLWIDTH RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF09;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF09;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-168-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-168-expected.html
new file mode 100644
index 0000000..61e3605
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-168-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF3D FULLWIDTH RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF3D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-168.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-168.html
new file mode 100644
index 0000000..9e15ea9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-168.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF3D FULLWIDTH RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-168-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF3D FULLWIDTH RIGHT SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF3D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-169-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-169-expected.html
new file mode 100644
index 0000000..7c72009
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-169-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5D FULLWIDTH RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF5D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF5D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-169.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-169.html
new file mode 100644
index 0000000..2a033f7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-169.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5D FULLWIDTH RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-169-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF5D FULLWIDTH RIGHT CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF5D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF5D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-170-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-170-expected.html
new file mode 100644
index 0000000..5f172c3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-170-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF60 FULLWIDTH RIGHT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF60;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF60;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-170.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-170.html
new file mode 100644
index 0000000..c3bffbc7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-170.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF60 FULLWIDTH RIGHT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-170-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF60 FULLWIDTH RIGHT WHITE PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF60;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF60;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-171-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-171-expected.html
new file mode 100644
index 0000000..a2b4c0d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-171-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF63 HALFWIDTH RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF63;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF63;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-171.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-171.html
new file mode 100644
index 0000000..abb07bb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-171.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF63 HALFWIDTH RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-171-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF63 HALFWIDTH RIGHT CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF63;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF63;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-200-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-200-expected.html
new file mode 100644
index 0000000..9170d7e4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-200-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0E5A THAI CHARACTER ANGKHANKHU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0E5A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0E5A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-200.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-200.html
new file mode 100644
index 0000000..2700fd7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-200.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0E5A THAI CHARACTER ANGKHANKHU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-200-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 0E5A THAI CHARACTER ANGKHANKHU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0E5A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0E5A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-201-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-201-expected.html
new file mode 100644
index 0000000..def2340
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-201-expected.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0E5B THAI CHARACTER KHOMUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.test, .ref { width: 115px; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0E5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0E5B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-201.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-201.html
new file mode 100644
index 0000000..fd85a19
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-201.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0E5B THAI CHARACTER KHOMUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-201-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 0E5B THAI CHARACTER KHOMUT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.test, .ref { width: 115px; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0E5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0E5B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-202-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-202-expected.html
new file mode 100644
index 0000000..9922195
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-202-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17D4 KHMER SIGN KHAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x17D4;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17D4;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-202.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-202.html
new file mode 100644
index 0000000..7cf48e4a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-202.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17D4 KHMER SIGN KHAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-202-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 17D4 KHMER SIGN KHAN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x17D4;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17D4;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-203-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-203-expected.html
new file mode 100644
index 0000000..4343947
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-203-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17D6 KHMER SIGN CAMNUC PII KUUH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x17D6;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17D6;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-203.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-203.html
new file mode 100644
index 0000000..eac9dadc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-203.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17D6 KHMER SIGN CAMNUC PII KUUH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-203-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 17D6 KHMER SIGN CAMNUC PII KUUH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x17D6;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17D6;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-204-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-204-expected.html
new file mode 100644
index 0000000..2975d7a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-204-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17DA KHMER SIGN KOOMUUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x17DA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17DA;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-204.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-204.html
new file mode 100644
index 0000000..ac76b4f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-204.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17DA KHMER SIGN KOOMUUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-204-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 17DA KHMER SIGN KOOMUUT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x17DA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17DA;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-205-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-205-expected.html
new file mode 100644
index 0000000..9a2fccee
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-205-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x203C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-205.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-205.html
new file mode 100644
index 0000000..be133d56
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-205.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-205-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 203C DOUBLE EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x203C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-206-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-206-expected.html
new file mode 100644
index 0000000..2e56cecc0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-206-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3005;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-206.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-206.html
new file mode 100644
index 0000000..6ca71f6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-206.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-206-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 3005 IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3005;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-207-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-207-expected.html
new file mode 100644
index 0000000..7f2c34ea
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-207-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-207.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-207.html
new file mode 100644
index 0000000..7e589863
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-207.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-207-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 301C WAVE DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-208-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-208-expected.html
new file mode 100644
index 0000000..c969ff36
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-208-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303C MASU MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x303C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x303C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-208.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-208.html
new file mode 100644
index 0000000..c23fc52e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-208.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303C MASU MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-208-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 303C MASU MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x303C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x303C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-209-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-209-expected.html
new file mode 100644
index 0000000..3f5cd3f5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-209-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x303B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-209.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-209.html
new file mode 100644
index 0000000..816ae2e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-209.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-209-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 303B VERTICAL IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x303B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-210-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-210-expected.html
new file mode 100644
index 0000000..17702be
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-210-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309B KATAKANA-HIRAGANA VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x309B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-210.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-210.html
new file mode 100644
index 0000000..b5b0eaf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-210.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309B KATAKANA-HIRAGANA VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-210-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 309B KATAKANA-HIRAGANA VOICED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x309B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-211-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-211-expected.html
new file mode 100644
index 0000000..399b86ec
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-211-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x309C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-211.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-211.html
new file mode 100644
index 0000000..004a000
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-211.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-211-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x309C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-212-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-212-expected.html
new file mode 100644
index 0000000..8fc39f5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-212-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x309D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-212.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-212.html
new file mode 100644
index 0000000..8e19952
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-212.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-212-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 309D HIRAGANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x309D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-213-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-213-expected.html
new file mode 100644
index 0000000..40eeae6f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-213-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x309E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-213.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-213.html
new file mode 100644
index 0000000..33cee66b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-213.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-213-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 309E HIRAGANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x309E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-214-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-214-expected.html
new file mode 100644
index 0000000..37e3ce8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-214-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x30A0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30A0;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-214.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-214.html
new file mode 100644
index 0000000..3dfa3395
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-214.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-214-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x30A0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30A0;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-215-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-215-expected.html
new file mode 100644
index 0000000..b627b1b2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-215-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x30FB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FB;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-215.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-215.html
new file mode 100644
index 0000000..deecd5a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-215.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-215-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 30FB KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x30FB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FB;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-216-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-216-expected.html
new file mode 100644
index 0000000..c73db03
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-216-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x30FC;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FC;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-216.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-216.html
new file mode 100644
index 0000000..a22f1e9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-216.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-216-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x30FC;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FC;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-217-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-217-expected.html
new file mode 100644
index 0000000..f342dd9c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-217-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x30FD;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FD;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-217.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-217.html
new file mode 100644
index 0000000..f07b24d4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-217.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-217-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 30FD KATAKANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x30FD;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FD;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-218-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-218-expected.html
new file mode 100644
index 0000000..92118d0a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-218-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x30FE;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FE;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-218.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-218.html
new file mode 100644
index 0000000..31db55c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-218.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-218-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 30FE KATAKANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x30FE;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FE;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-219-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-219-expected.html
new file mode 100644
index 0000000..f2c9a4b9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-219-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE54 SMALL SEMICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE54;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE54;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-219.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-219.html
new file mode 100644
index 0000000..88133a19
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-219.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE54 SMALL SEMICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-219-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FE54 SMALL SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE54;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE54;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-220-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-220-expected.html
new file mode 100644
index 0000000..4c0d6fd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-220-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE55 SMALL COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE55;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE55;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-220.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-220.html
new file mode 100644
index 0000000..bc0ae20
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-220.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE55 SMALL COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-220-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FE55 SMALL COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE55;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE55;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-221-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-221-expected.html
new file mode 100644
index 0000000..de9a4f92
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-221-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF1A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-221.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-221.html
new file mode 100644
index 0000000..c1d1306
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-221.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-221-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF1A FULLWIDTH COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF1A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-222-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-222-expected.html
new file mode 100644
index 0000000..770983f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-222-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF1B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-222.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-222.html
new file mode 100644
index 0000000..4d58e67d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-222.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-222-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF1B FULLWIDTH SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF1B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-223-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-223-expected.html
new file mode 100644
index 0000000..3488294
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-223-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF65;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF65;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-223.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-223.html
new file mode 100644
index 0000000..11b5600a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-223.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-223-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF65 HALFWIDTH KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF65;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF65;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-224-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-224-expected.html
new file mode 100644
index 0000000..ca38501
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-224-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF70;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF70;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-224.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-224.html
new file mode 100644
index 0000000..7c86a3c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-224.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-224-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF70;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF70;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-225-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-225-expected.html
new file mode 100644
index 0000000..50e1209
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-225-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF9E HALFWIDTH KATAKANA VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF9E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF9E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-225.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-225.html
new file mode 100644
index 0000000..a662101
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-225.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF9E HALFWIDTH KATAKANA VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-225-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF9E HALFWIDTH KATAKANA VOICED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF9E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF9E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-226-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-226-expected.html
new file mode 100644
index 0000000..b3d9e532
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-226-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF9F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF9F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-226.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-226.html
new file mode 100644
index 0000000..eb2e7a0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-226.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-226-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF9F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF9F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-250-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-250-expected.html
new file mode 100644
index 0000000..850e91de
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-250-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3041 HIRAGANA LETTER SMALL A</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3041;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3041;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-250.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-250.html
new file mode 100644
index 0000000..62936e00
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-250.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3041 HIRAGANA LETTER SMALL A</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-250-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 3041 HIRAGANA LETTER SMALL A (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x3041;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3041;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-251-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-251-expected.html
new file mode 100644
index 0000000..b79907d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-251-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3043 HIRAGANA LETTER SMALL I</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3043;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3043;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-251.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-251.html
new file mode 100644
index 0000000..c07877da
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-251.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3043 HIRAGANA LETTER SMALL I</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-251-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 3043 HIRAGANA LETTER SMALL I (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x3043;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3043;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-252-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-252-expected.html
new file mode 100644
index 0000000..ade9dc69
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-252-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3045 HIRAGANA LETTER SMALL U</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3045;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3045;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-252.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-252.html
new file mode 100644
index 0000000..a794063
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-252.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3045 HIRAGANA LETTER SMALL U</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-252-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 3045 HIRAGANA LETTER SMALL U (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x3045;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3045;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-253-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-253-expected.html
new file mode 100644
index 0000000..957a56c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-253-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3047 HIRAGANA LETTER SMALL E</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3047;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3047;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-253.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-253.html
new file mode 100644
index 0000000..bbd5e5b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-253.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3047 HIRAGANA LETTER SMALL E</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-253-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 3047 HIRAGANA LETTER SMALL E (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x3047;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3047;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-254-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-254-expected.html
new file mode 100644
index 0000000..df70437
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-254-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3049 HIRAGANA LETTER SMALL O</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3049;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3049;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-254.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-254.html
new file mode 100644
index 0000000..ecafe2a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-254.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3049 HIRAGANA LETTER SMALL O</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-254-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 3049 HIRAGANA LETTER SMALL O (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x3049;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3049;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-255-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-255-expected.html
new file mode 100644
index 0000000..77db547a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-255-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3063 HIRAGANA LETTER SMALL TU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3063;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3063;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-255.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-255.html
new file mode 100644
index 0000000..9c0053d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-255.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3063 HIRAGANA LETTER SMALL TU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-255-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 3063 HIRAGANA LETTER SMALL TU (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x3063;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3063;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-256-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-256-expected.html
new file mode 100644
index 0000000..44c0154
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-256-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3083 HIRAGANA LETTER SMALL YA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3083;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3083;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-256.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-256.html
new file mode 100644
index 0000000..ec8e637d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-256.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3083 HIRAGANA LETTER SMALL YA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-256-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 3083 HIRAGANA LETTER SMALL YA (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x3083;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3083;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-257-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-257-expected.html
new file mode 100644
index 0000000..bd3aa426
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-257-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3085 HIRAGANA LETTER SMALL YU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3085;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3085;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-257.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-257.html
new file mode 100644
index 0000000..29eeb61
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-257.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3085 HIRAGANA LETTER SMALL YU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-257-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 3085 HIRAGANA LETTER SMALL YU (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x3085;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3085;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-258-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-258-expected.html
new file mode 100644
index 0000000..190653c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-258-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3087 HIRAGANA LETTER SMALL YO </title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3087;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3087;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-258.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-258.html
new file mode 100644
index 0000000..eab3357
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-258.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3087 HIRAGANA LETTER SMALL YO </title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-258-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 3087 HIRAGANA LETTER SMALL YO  (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x3087;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3087;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-259-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-259-expected.html
new file mode 100644
index 0000000..aff11a685
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-259-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 308E HIRAGANA LETTER SMALL WA </title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x308E;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x308E;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-259.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-259.html
new file mode 100644
index 0000000..ad45374
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-259.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 308E HIRAGANA LETTER SMALL WA </title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-259-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 308E HIRAGANA LETTER SMALL WA  (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>かかか&#x308E;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x308E;な</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-260-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-260-expected.html
new file mode 100644
index 0000000..ea4e4bb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-260-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A1 KATAKANA LETTER SMALL A</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A1;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A1;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-260.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-260.html
new file mode 100644
index 0000000..aab770e4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-260.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A1 KATAKANA LETTER SMALL A</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-260-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30A1 KATAKANA LETTER SMALL A (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30A1;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A1;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-261-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-261-expected.html
new file mode 100644
index 0000000..4660f9f0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-261-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A3 KATAKANA LETTER SMALL I</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A3;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-261.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-261.html
new file mode 100644
index 0000000..fee199c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-261.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A3 KATAKANA LETTER SMALL I</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-261-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30A3 KATAKANA LETTER SMALL I (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30A3;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A3;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-262-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-262-expected.html
new file mode 100644
index 0000000..f309b29c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-262-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A5 KATAKANA LETTER SMALL U</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A5;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-262.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-262.html
new file mode 100644
index 0000000..cbec65a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-262.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A5 KATAKANA LETTER SMALL U</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-262-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30A5 KATAKANA LETTER SMALL U (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30A5;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A5;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-263-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-263-expected.html
new file mode 100644
index 0000000..a239d11
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-263-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A7 KATAKANA LETTER SMALL E</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A7;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-263.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-263.html
new file mode 100644
index 0000000..82ce915
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-263.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A7 KATAKANA LETTER SMALL E</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-263-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30A7 KATAKANA LETTER SMALL E (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30A7;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A7;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-264-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-264-expected.html
new file mode 100644
index 0000000..e5cdec2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-264-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A9 KATAKANA LETTER SMALL O</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A9;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A9;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-264.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-264.html
new file mode 100644
index 0000000..25898b7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-264.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A9 KATAKANA LETTER SMALL O</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-264-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30A9 KATAKANA LETTER SMALL O (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30A9;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A9;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-265-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-265-expected.html
new file mode 100644
index 0000000..d84061cc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-265-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30C3 KATAKANA LETTER SMALL TU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30C3;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30C3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-265.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-265.html
new file mode 100644
index 0000000..bf01e9d6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-265.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30C3 KATAKANA LETTER SMALL TU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-265-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30C3 KATAKANA LETTER SMALL TU (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30C3;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30C3;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-266-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-266-expected.html
new file mode 100644
index 0000000..92cb36af
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-266-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E3 KATAKANA LETTER SMALL YA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30E3;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30E3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-266.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-266.html
new file mode 100644
index 0000000..380a57e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-266.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E3 KATAKANA LETTER SMALL YA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-266-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30E3 KATAKANA LETTER SMALL YA (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30E3;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30E3;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-267-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-267-expected.html
new file mode 100644
index 0000000..b7fd5f805
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-267-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E5 KATAKANA LETTER SMALL YU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30E5;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30E5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-267.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-267.html
new file mode 100644
index 0000000..834f8f13
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-267.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E5 KATAKANA LETTER SMALL YU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-267-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30E5 KATAKANA LETTER SMALL YU (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30E5;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30E5;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-268-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-268-expected.html
new file mode 100644
index 0000000..e5382e1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-268-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E7 KATAKANA LETTER SMALL YO</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30E7;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30E7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-268.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-268.html
new file mode 100644
index 0000000..d976c9b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-268.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E7 KATAKANA LETTER SMALL YO</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-268-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30E7 KATAKANA LETTER SMALL YO (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30E7;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30E7;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-269-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-269-expected.html
new file mode 100644
index 0000000..f7e53c2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-269-expected.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30EE KATAKANA LETTER SMALL WA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<meta name='flags' content='font'>
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30EE;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30EE;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-269.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-269.html
new file mode 100644
index 0000000..360126e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/css3-text-line-break-opclns-269.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html  lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30EE KATAKANA LETTER SMALL WA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-269-ref.html">
+<meta name='flags' content='font'>
+<meta name="assert" content="The browser will not allow the small kana character 30EE KATAKANA LETTER SMALL WA (which has the NS Non-Starter property) at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+	font-family: 'mplus-1p-regular';
+	src: url('support/mplus-1p-regular.woff') format('woff');
+	/* filesize: 803K */
+	}
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='test'>カカカ&#x30EE;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30EE;ナ</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/reference/support/mplus-1p-regular.woff b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/reference/support/mplus-1p-regular.woff
new file mode 100644
index 0000000..42cfff6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/reference/support/mplus-1p-regular.woff
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/support/BPG-Ucnobi-U.woff b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/support/BPG-Ucnobi-U.woff
new file mode 100644
index 0000000..577500e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/support/BPG-Ucnobi-U.woff
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/support/GentiumPlus-R.woff b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/support/GentiumPlus-R.woff
new file mode 100644
index 0000000..2d3bf3e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/support/GentiumPlus-R.woff
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/support/mplus-1p-regular.woff b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/support/mplus-1p-regular.woff
new file mode 100644
index 0000000..42cfff6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/i18n/support/mplus-1p-regular.woff
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-021-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-021-expected.xht
new file mode 100644
index 0000000..22e4a06
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-021-expected.xht
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-normal-021.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- iteration marks -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3005;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3005;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x303b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x303b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309d;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309d;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309e;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309e;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fd;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fd;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fe;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fe;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-021.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-021.xht
new file mode 100644
index 0000000..1dfdc5b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-021.xht
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - normal and iteration marks</title>
+		<!-- iteration marks -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-normal-021-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: normal' does not allow line breaking before iteration marks such as IDEOGRAPHIC ITERATION MARK (U+3005) and VERTICAL IDEOGRAPHIC ITERATION MARK (U+3B)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: normal;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- iteration marks -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x3005;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3005;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x303b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x303b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x309d;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309d;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x309e;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309e;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x30fd;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fd;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x30fe;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fe;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-022-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-022-expected.xht
new file mode 100644
index 0000000..6a89e03
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-022-expected.xht
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-normal-022.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- inseparable characters TWO DOT LEADER -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2025;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2025;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- inseparable characters HORIZONTAL ELLIPSIS -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2026;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2026;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-022.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-022.xht
new file mode 100644
index 0000000..f2be8f0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-022.xht
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - normal and  inseparable characters</title>
+		<!-- inseparable characters -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-normal-022-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: normal' does not allow line breaking before inseparable characters such as TWO DOT LEADER (U+2025) and HORIZONTAL ELLIPSIS (U+2026)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: normal;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- inseparable characters TWO DOT LEADER -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2025;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2025;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- inseparable characters HORIZONTAL ELLIPSIS -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2026;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2026;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-023-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-023-expected.xht
new file mode 100644
index 0000000..b78c6c051
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-023-expected.xht
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-normal-023.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- centered punctuation marks COLON -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003a;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003a;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks SEMICOLON -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks KATAKANA MIDDLE DOT -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fb;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fb;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH COLON -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1a;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1a;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH SEMICOLON -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks HALFWIDTH KATAKANA MIDDLE DOT -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff65;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff65;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks EXCLAMATION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0021;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0021;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks QUESTION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003f;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003f;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks DOUBLE EXCLAMATION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x203c;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x203c;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks DOUBLE QUESTION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2047;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2047;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks QUESTION EXCLAMATION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2048;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2048;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks EXCLAMATION QUESTION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2049;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2049;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH EXCLAMATION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff01;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff01;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH QUESTION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1f;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1f;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-023.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-023.xht
new file mode 100644
index 0000000..c6b59e5c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-023.xht
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - normal and centered punctuation marks</title>
+		<!-- centered punctuation marks -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-normal-023-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: normal' does not allow line breaking before centered punctuation marks such as COLON (U+003A) and SEMICOLON (U+003B)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: normal;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- centered punctuation marks COLON -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x003a;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003a;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks SEMICOLON -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x003b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks KATAKANA MIDDLE DOT -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x30fb;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fb;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH COLON -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff1a;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1a;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH SEMICOLON -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff1b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks HALFWIDTH KATAKANA MIDDLE DOT -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff65;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff65;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks EXCLAMATION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x0021;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0021;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks QUESTION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x003f;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003f;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks DOUBLE EXCLAMATION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x203c;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x203c;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks DOUBLE QUESTION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2047;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2047;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks QUESTION EXCLAMATION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2048;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2048;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks EXCLAMATION QUESTION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2049;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2049;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH EXCLAMATION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff01;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff01;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH QUESTION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff1f;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1f;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-024-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-024-expected.xht
new file mode 100644
index 0000000..9e6f847
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-024-expected.xht
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-normal-024.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- postfixes PERCENT SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0025;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0025;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes CENT SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a2;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a2;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DEGREE SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00b0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00b0;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes PER MILLE SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2030;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2030;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes PRIME -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2032;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2032;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DOUBLE PRIME -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2033;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2033;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DEGREE CELSIUS -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2103;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2103;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes FULLWIDTH PERCENT SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff05;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff05;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes FULLWIDTH CENT SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe0;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-024.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-024.xht
new file mode 100644
index 0000000..ee23b0f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-024.xht
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - normal and postfixes</title>
+		<!-- postfixes -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-normal-024-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: normal' does not allow line breaking before postfixes such as PERCENT SIGN (U+0025) and CENT SIGN (U+00A2)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: normal;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- postfixes PERCENT SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x0025;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0025;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes CENT SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x00a2;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a2;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DEGREE SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x00b0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00b0;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes PER MILLE SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2030;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2030;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes PRIME -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2032;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2032;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DOUBLE PRIME -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2033;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2033;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DEGREE CELSIUS -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2103;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2103;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes FULLWIDTH PERCENT SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff05;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff05;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes FULLWIDTH CENT SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xffe0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe0;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-025-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-025-expected.xht
new file mode 100644
index 0000000..ab3b86b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-025-expected.xht
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-normal-025.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- prefixes DOLLAR SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0024;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0024;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes POUND SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a3;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a3;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes YEN SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a5;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a5;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes EURO SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x20ac;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x20ac;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes NUMERO SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2116;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2116;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH DOLLAR SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff04;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff04;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH POUND SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe1;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe1;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH YEN SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe5;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe5;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-025.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-025.xht
new file mode 100644
index 0000000..3553275
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-normal-025.xht
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - normal and prefixes</title>
+		<!-- prefixes -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-normal-025-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: normal' does not allow line breaking before prefixes such as EURO SIGN (U+20AC) and FULLWIDTH DOLLAR SIGN (U+FF04)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: normal;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- prefixes DOLLAR SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x0024;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0024;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes POUND SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x00a3;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a3;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes YEN SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x00a5;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a5;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes EURO SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x20ac;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x20ac;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes NUMERO SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2116;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2116;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH DOLLAR SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff04;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff04;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH POUND SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xffe1;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe1;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH YEN SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xffe5;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe5;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-011-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-011-expected.xht
new file mode 100644
index 0000000..0b9bd19
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-011-expected.xht
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-strict-011.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL A -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3041;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3041;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL I -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3043;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3043;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL U -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3045;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3045;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL E -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3047;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3047;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL O -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3049;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3049;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-011.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-011.xht
new file mode 100644
index 0000000..8b87c715
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-011.xht
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - strict and Japanese small kana</title>
+		<!-- Japanese small kana -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-strict-011-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: strict' does not allow line breaking before Japanese small kana such as 'Japanese small kana a (U+3041)' and  'Japanese small kana i (U+3043)'." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: strict;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL A -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x3041;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3041;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL I -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x3043;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3043;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL U -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x3045;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3045;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL E -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x3047;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3047;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Japanese small kana: HIRAGANA LETTER SMALL O -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x3049;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3049;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
+
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-012-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-012-expected.xht
new file mode 100644
index 0000000..7774ab9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-012-expected.xht
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-strict-012.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- Katakana-Hiragana prolonged sound mark - fullwidth -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30FC;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30FC;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Katakana-Hiragana prolonged sound mark - halfwidth -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff70;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff70;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-012.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-012.xht
new file mode 100644
index 0000000..0e8073b1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-012.xht
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - strict and  Katakana-Hiragana prolonged sound marks</title>
+		<!-- Katakana-Hiragana prolonged sound marks -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-strict-012-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: strict' does not allow line breaking before Katakana-Hiragana prolonged sound marks such as (U+30FC) and (U+FF70)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: strict;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- Katakana-Hiragana prolonged sound mark - fullwidth -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x30FC;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30FC;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- Katakana-Hiragana prolonged sound mark - halfwidth -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff70;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff70;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-013-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-013-expected.xht
new file mode 100644
index 0000000..65c3612
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-013-expected.xht
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-strict-013.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- hyphens -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2010;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2010;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2013;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2013;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x301c;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x301c;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30a0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30a0;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-013.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-013.xht
new file mode 100644
index 0000000..b47b014
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-013.xht
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - strict and hyphens</title>
+		<!-- hyphens -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-strict-013-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: strict' does not allow line breaking before hyphens such as HYPHEN (U+2010) and ENDASH (U+2013)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: strict;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- hyphens -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2010;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2010;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2013;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2013;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x301c;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x301c;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x30a0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30a0;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-014-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-014-expected.xht
new file mode 100644
index 0000000..67f008d8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-014-expected.xht
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-strict-014.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- iteration marks -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3005;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3005;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x303b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x303b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309d;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309d;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309e;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309e;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fd;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fd;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fe;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fe;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-014.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-014.xht
new file mode 100644
index 0000000..ad43032
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-014.xht
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - strict and iteration marks</title>
+		<!-- iteration marks -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-strict-014-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: strict' does not allow line breaking before iteration marks such as IDEOGRAPHIC ITERATION MARK (U+3005) and VERTICAL IDEOGRAPHIC ITERATION MARK (U+3B)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: strict;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- iteration marks -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x3005;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x3005;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x303b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x303b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x309d;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309d;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x309e;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x309e;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x30fd;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fd;</span>サンプル文</span>
+		</p>
+		<hr />
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x30fe;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fe;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-015-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-015-expected.xht
new file mode 100644
index 0000000..a05fda5d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-015-expected.xht
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-strict-015.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- inseparable characters TWO DOT LEADER -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2025;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2025;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- inseparable characters HORIZONTAL ELLIPSIS -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2026;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2026;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-015.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-015.xht
new file mode 100644
index 0000000..2e79d7f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-015.xht
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - strict and  inseparable characters</title>
+		<!-- inseparable characters -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-strict-015-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: strict' does not allow line breaking before inseparable characters such as TWO DOT LEADER (U+2025) and HORIZONTAL ELLIPSIS (U+2026)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: strict;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- inseparable characters TWO DOT LEADER -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2025;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2025;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- inseparable characters HORIZONTAL ELLIPSIS -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2026;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2026;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-016-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-016-expected.xht
new file mode 100644
index 0000000..e0b15dc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-016-expected.xht
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-strict-016.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- centered punctuation marks COLON -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003a;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003a;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks SEMICOLON -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks KATAKANA MIDDLE DOT -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fb;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fb;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH COLON -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1a;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1a;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH SEMICOLON -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks HALFWIDTH KATAKANA MIDDLE DOT -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff65;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff65;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks EXCLAMATION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0021;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0021;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks QUESTION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003f;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003f;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks DOUBLE EXCLAMATION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x203c;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x203c;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks DOUBLE QUESTION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2047;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2047;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks QUESTION EXCLAMATION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2048;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2048;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks EXCLAMATION QUESTION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2049;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2049;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH EXCLAMATION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff01;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff01;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH QUESTION MARK -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1f;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1f;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-016.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-016.xht
new file mode 100644
index 0000000..b00a966
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-016.xht
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - strict and centered punctuation marks</title>
+		<!-- centered punctuation marks -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-strict-016-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: strict' does not allow line breaking before centered punctuation marks such as COLON (U+003A) and SEMICOLON (U+003B)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: strict;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- centered punctuation marks COLON -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x003a;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003a;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks SEMICOLON -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x003b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks KATAKANA MIDDLE DOT -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x30fb;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x30fb;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH COLON -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff1a;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1a;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH SEMICOLON -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff1b;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1b;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks HALFWIDTH KATAKANA MIDDLE DOT -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff65;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff65;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks EXCLAMATION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x0021;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0021;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks QUESTION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x003f;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x003f;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks DOUBLE EXCLAMATION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x203c;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x203c;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks DOUBLE QUESTION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2047;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2047;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks QUESTION EXCLAMATION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2048;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2048;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks EXCLAMATION QUESTION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2049;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2049;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH EXCLAMATION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff01;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff01;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- centered punctuation marks FULLWIDTH QUESTION MARK -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff1f;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff1f;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-017-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-017-expected.xht
new file mode 100644
index 0000000..8695c67
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-017-expected.xht
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-strict-017.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- postfixes PERCENT SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0025;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0025;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes CENT SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a2;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a2;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DEGREE SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00b0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00b0;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes PER MILLE SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2030;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2030;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes PRIME -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2032;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2032;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DOUBLE PRIME -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2033;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2033;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DEGREE CELSIUS -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2103;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2103;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes FULLWIDTH PERCENT SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff05;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff05;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes FULLWIDTH CENT SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe0;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-017.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-017.xht
new file mode 100644
index 0000000..6d700fb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-017.xht
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - strict and postfixes</title>
+		<!-- postfixes -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-strict-017-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: strict' does not allow line breaking before postfixes such as PERCENT SIGN (U+0025) and CENT SIGN (U+00A2)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: strict;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- postfixes PERCENT SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x0025;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0025;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes CENT SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x00a2;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a2;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DEGREE SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x00b0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00b0;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes PER MILLE SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2030;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2030;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes PRIME -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2032;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2032;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DOUBLE PRIME -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2033;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2033;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes DEGREE CELSIUS -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2103;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2103;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes FULLWIDTH PERCENT SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff05;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff05;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- postfixes FULLWIDTH CENT SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xffe0;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe0;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-018-expected.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-018-expected.xht
new file mode 100644
index 0000000..ca08582
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-018-expected.xht
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<!-- reftest for line-break-strict-018.xht -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("../support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body  lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- prefixes DOLLAR SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0024;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0024;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes POUND SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a3;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a3;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes YEN SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a5;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a5;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes EURO SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x20ac;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x20ac;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes NUMERO SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2116;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2116;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH DOLLAR SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff04;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff04;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH POUND SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe1;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe1;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH YEN SIGN -->
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe5;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe5;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-018.xht b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-018.xht
new file mode 100644
index 0000000..91c32dcf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-text-3/line-break/line-break-strict-018.xht
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Text Test: line-break - strict and prefixes</title>
+		<!-- prefixes -->
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="help" title="5.2. Breaking Rules for Punctuation: the 'line-break' property" href="http://www.w3.org/TR/css-text-3/#line-break" />
+		<link rel="match" href="reference/line-break-strict-018-ref.xht" />
+		<meta http-equiv="content-language" content="en, ja" />
+		<meta name="flags" content="font" />
+		<meta name="assert" content="This test verifies that 'line-break: strict' does not allow line breaking before prefixes such as EURO SIGN (U+20AC) and FULLWIDTH DOLLAR SIGN (U+FF04)." />
+		<style type="text/css">
+			@font-face
+			{
+				font-family: "mplus-1p-regular";
+				src: url("support/mplus-1p-regular.woff") format("woff");
+				/* filesize: 803300 bytes (784.5 KBytes) */
+				/*
+				mplus-1p-regular.ttf can be downloaded at/from [TBD later]
+				*/
+			}
+			.test span {
+				line-break: strict;						// The property to be tested
+			}
+			p.test, p.control {
+				border: 1px solid gray;
+				color: blue;
+				font-family: "mplus-1p-regular";
+				width: 10em;
+			}
+			span.target {
+				background-color: aqua;
+			}
+		</style>
+	</head>
+	<body lang="en">
+		<p>
+			Test passes if the highlighted characters in each pair of rectangles are at the exact same horizontal position.
+		</p>
+		<!-- prefixes DOLLAR SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x0024;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x0024;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes POUND SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x00a3;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a3;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes YEN SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x00a5;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x00a5;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes EURO SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x20ac;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x20ac;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes NUMERO SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#x2116;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#x2116;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH DOLLAR SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xff04;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xff04;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH POUND SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xffe1;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe1;</span>サンプル文</span>
+		</p>
+		<hr />
+		<!-- prefixes FULLWIDTH YEN SIGN -->
+		<p class="test" lang="ja">
+			<span>サンプル文サンプル文<span class="target">&#xffe5;</span>サンプル文</span>
+		</p>
+		<p class="control" lang="ja">
+			<span>サンプル文サンプル<br />文<span class="target">&#xffe5;</span>サンプル文</span>
+		</p>
+	</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt
new file mode 100644
index 0000000..df8492b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt
@@ -0,0 +1,17 @@
+This is a testharness.js-based test.
+PASS Returning a string must not cancel the event: CustomEvent, non-cancelable 
+PASS Returning a string must not cancel the event: CustomEvent, cancelable 
+PASS Returning null with a real iframe unloading 
+PASS Returning undefined with a real iframe unloading 
+FAIL Returning  with a real iframe unloading assert_equals: canceled expected true but got false
+PASS Returning false with a real iframe unloading 
+FAIL Returning true with a real iframe unloading assert_equals: canceled expected true but got false
+FAIL Returning 0 with a real iframe unloading assert_equals: canceled expected true but got false
+PASS Returning null with a real iframe unloading; setting returnValue to foo 
+PASS Returning undefined with a real iframe unloading; setting returnValue to foo 
+FAIL Returning  with a real iframe unloading; setting returnValue to foo assert_equals: canceled expected true but got false
+FAIL Returning false with a real iframe unloading; setting returnValue to foo assert_equals: returnValue expected "foo" but got "false"
+FAIL Returning true with a real iframe unloading; setting returnValue to foo assert_equals: canceled expected true but got false
+FAIL Returning 0 with a real iframe unloading; setting returnValue to foo assert_equals: canceled expected true but got false
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-valueof-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-valueof-expected.txt
new file mode 100644
index 0000000..1086fb9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-valueof-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Location valueOf assert_equals: expected function "function valueOf() { [native code] }" but got function "function valueOf() { [native code] }"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub-expected.txt
new file mode 100644
index 0000000..27256cf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub-expected.txt
@@ -0,0 +1,14 @@
+This is a testharness.js-based test.
+PASS Assigning blob url 
+PASS Should have the right origin for cross-origin subframe 
+PASS Should have the right origin for cross-origin subframe after setting document.domain 
+PASS Should have the right origin for IDN subframe 
+PASS Should have the right origin for IDN subframe after setting document.domain 
+PASS Should have the right origin for sandboxed iframe 
+FAIL We should have the right origin for our page assert_equals: expected (string) "http://web-platform.test:8001" but got (undefined) undefined
+FAIL about:blank subframe origins assert_equals: Should have the right origin for about:blank iframe expected (string) "http://web-platform.test:8001" but got (undefined) undefined
+FAIL blob: subframe origins assert_equals: Should have the right origin for blob: iframe expected (string) "http://web-platform.test:8001" but got (undefined) undefined
+FAIL javascript: subframe origins assert_equals: Should have the right origin for javascript: iframe expected (string) "http://web-platform.test:8001" but got (undefined) undefined
+FAIL srcdoc subframe origins assert_equals: Should have the right origin for srcdoc iframe expected (string) "http://web-platform.test:8001" but got (undefined) undefined
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2-expected.txt
new file mode 100644
index 0000000..1239422
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Test <embed> nesting inside <object> assert_equals: Should have loaded all should-load elements expected 12 but got 0
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2-expected.txt
new file mode 100644
index 0000000..2053986c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Test <object> nesting inside <object> assert_equals: Should have loaded all should-load elements expected 12 but got 0
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-expected.txt
new file mode 100644
index 0000000..486dfeb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-expected.txt
@@ -0,0 +1,9 @@
+This is a testharness.js-based test.
+PASS Unordered module script execution (parsed, unordered #1) 
+PASS Unordered module script execution (parsed, unordered #2) 
+PASS Unordered module script execution (dynamic, unordered #1) 
+PASS Unordered module script execution (dynamic, unordered #2) 
+FAIL Interlaced module/non-module script execution (parsed, async-ordered) assert_equals: Inline module-typed script element should have fired third expected 3 but got 1
+PASS Interlaced module/non-module script execution (dynamic, async-ordered) 
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-expected.txt
new file mode 100644
index 0000000..66b4890
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-expected.txt
@@ -0,0 +1,11 @@
+CONSOLE ERROR: line 13: Uncaught SyntaxError: Unexpected token import
+CONSOLE ERROR: line 22: Uncaught SyntaxError: Unexpected token import
+CONSOLE ERROR: line 39: Uncaught SyntaxError: Unexpected token import
+CONSOLE ERROR: line 1325: Uncaught Error: Tried to create a test with file_is_test
+CONSOLE ERROR: line 1: Uncaught SyntaxError: Unexpected token import
+CONSOLE ERROR: line 1325: Uncaught Error: Tried to create a test with file_is_test
+CONSOLE ERROR: line 1: Uncaught SyntaxError: Unexpected token import
+This is a testharness.js-based test.
+FAIL html-script-module-imports Uncaught SyntaxError: Unexpected token import
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/callback-suspended-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/callback-suspended-expected.txt
new file mode 100644
index 0000000..82442ca3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/callback-suspended-expected.txt
@@ -0,0 +1,6 @@
+CONSOLE ERROR: line 29: Uncaught TypeError: handler is not a function
+This is a testharness.js-based test.
+Harness Error. harness_status.status = 1 , harness_status.message = Uncaught TypeError: handler is not a function
+FAIL Dispatching idle callbacks should be able to be suspended and then resumed assert_true: idle callback should've been called by now expected true got false
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-row-top-expected.html b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-row-top-expected.html
deleted file mode 100644
index 1350120c..0000000
--- a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-row-top-expected.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<style>
-    body {
-        margin: 0;
-        height: 2000px;
-        overflow: hidden; /* hide scrollbars */
-    }
-
-    .group {
-        display: inline-block;
-        position: relative;
-        width: 250px;
-        height: 500px;
-    }
-
-    .container {
-        width: 200px;
-        height: 400px;
-        outline: 2px solid black;
-    }
-
-    .box {
-        width: 200px;
-        height: 200px;
-    }
-
-    .sticky {
-        position: absolute;
-        background-color: green;
-    }
-
-    .indicator {
-        position: absolute;
-        top: 0;
-        left: 0;
-        background-color: red;
-    }
-</style>
-</head>
-<body>
-    <div class="group" style="top: -100px;">
-        <div class="indicator box" style="top: 200px;"></div>
-        <div class="container">
-            <div class="sticky box" style="top: 200px;"></div>
-        </div>
-    </div>
-
-    <div class="group" style="top: 0">
-        <div class="indicator box" style="top: 100px;"></div>
-        <div class="container">
-            <div class="sticky box" style="top: 100px;"></div>
-        </div>
-    </div>
-
-    <div class="group" style="top: 100px">
-        <div class="indicator box" style="top: 0;"></div>
-        <div class="container">
-            <div class="sticky box" style="top: 0;"></div>
-        </div>
-    </div>
-    <div style="position: absolute; top: 520px;">
-    This test checks that sticky positioned table rows are contained by their table.
-    There should be no red.
-    </div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-row-top.html b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-row-top.html
deleted file mode 100644
index 56599022..0000000
--- a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-row-top.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE html>
-<script>
-if (window.internals) {
-    internals.settings.setCSSStickyPositionEnabled(true);
-}           
-</script>
-
-<html>
-<head>
-<style>
-    body {
-        margin: 0;
-        height: 2000px;
-        overflow: hidden; /* hide scrollbars */
-    }
-
-    .group {
-        display: inline-block;
-        position: relative;
-        width: 250px;
-        height: 500px;
-    }
-
-    .container {
-        width: 200px;
-        height: 400px;
-        outline: 2px solid black;
-        border: hidden;
-        border-width: 0px;
-        border-spacing: 0px !important;
-        border-collapse:collapse;
-        cellspacing: 0;
-        cellpadding: 0;
-        padding: 0;
-    }
-
-    .box {
-        width: 200px;
-        height: 198px;
-    }
-
-    .sticky {
-        position: sticky;
-        top: 100px;
-        background-color: green;
-    }
-
-    .indicator {
-        position: absolute;
-        top: 0;
-        left: 0;
-        background-color: red;
-    }
-</style>
-<script>
-    function doTest()
-    {
-        window.scrollTo(0, 100);
-    }
-    window.addEventListener('load', doTest, false);
-</script>
-</head>
-<body>
-    <div class="group">
-        <div class="indicator box" style="top: 200px;"></div>
-        <table class="container">
-            <tbody>
-                <tr class="sticky">
-                    <td class="box"></td>
-                </tr>
-                <tr>
-                    <td></td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-
-    <div class="group" style="top: 100px">
-        <div class="indicator box" style="top: 100px;"></div>
-        <table class="container" style="">
-            <tbody>
-                <tr class="sticky">
-                    <td class="box"></td>
-                </tr>
-                <tr>
-                    <td></td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-
-    <div class="group" style="top: 200px">
-        <div class="indicator box" style="top: 0;"></div>
-        <table class="container" style="">
-            <tbody>
-                <tr class="sticky">
-                    <td class="box"></td>
-                </tr>
-                <tr>
-                    <td></td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-    <div style="position: absolute; top: 620px;">
-    This test checks that sticky positioned table rows are contained by their table.
-    There should be no red.
-    </div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-th-top-expected.html b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-th-top-expected.html
new file mode 100644
index 0000000..63adb5e5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-th-top-expected.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<style>
+    body {
+        margin: 0;
+        height: 2000px;
+        overflow: hidden; /* hide scrollbars */
+    }
+
+    .group {
+        display: inline-block;
+        position: relative;
+        width: 250px;
+        height: 500px;
+    }
+
+    .container {
+        width: 200px;
+        height: 400px;
+        outline: 2px solid black;
+    }
+
+    .box {
+        width: 200px;
+        height: 200px;
+    }
+
+    .sticky {
+        position: absolute;
+        background-color: green;
+    }
+
+    .indicator {
+        position: absolute;
+        top: 0;
+        left: 0;
+        background-color: red;
+    }
+</style>
+</head>
+<body>
+    <div class="group" style="top: -100px;">
+        <div class="indicator box" style="top: 200px;"></div>
+        <div class="container">
+            <div class="sticky box" style="top: 200px;"></div>
+        </div>
+    </div>
+
+    <div class="group" style="top: 0">
+        <div class="indicator box" style="top: 100px;"></div>
+        <div class="container">
+            <div class="sticky box" style="top: 100px;"></div>
+        </div>
+    </div>
+
+    <div class="group" style="top: 100px">
+        <div class="indicator box" style="top: 0;"></div>
+        <div class="container">
+            <div class="sticky box" style="top: 0;"></div>
+        </div>
+    </div>
+    <div style="position: absolute; top: 520px;">
+    This test checks that sticky positioned table ths are contained by their table.
+    There should be no red.
+    </div>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-th-top.html b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-th-top.html
new file mode 100644
index 0000000..8511005
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-th-top.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<script>
+if (window.internals) {
+    internals.settings.setCSSStickyPositionEnabled(true);
+}           
+</script>
+
+<html>
+<head>
+<style>
+    body {
+        margin: 0;
+        height: 2000px;
+        overflow: hidden; /* hide scrollbars */
+    }
+
+    .group {
+        display: inline-block;
+        position: relative;
+        width: 250px;
+        height: 500px;
+    }
+
+    .container {
+        width: 200px;
+        height: 400px;
+        outline: 2px solid black;
+        border: hidden;
+        border-width: 0px;
+        border-spacing: 0px !important;
+        border-collapse:collapse;
+        cellspacing: 0;
+        cellpadding: 0;
+        padding: 0;
+    }
+
+    .box {
+        width: 200px;
+        height: 198px;
+    }
+
+    .sticky {
+        position: sticky;
+        top: 100px;
+        background-color: green;
+    }
+
+    .indicator {
+        position: absolute;
+        top: 0;
+        left: 0;
+        background-color: red;
+    }
+</style>
+<script>
+    function doTest()
+    {
+        window.scrollTo(0, 100);
+    }
+    window.addEventListener('load', doTest, false);
+</script>
+</head>
+<body>
+    <div class="group">
+        <div class="indicator box" style="top: 200px;"></div>
+        <table class="container">
+            <thead>
+                <tr>
+                    <th class="sticky box"></th>
+                </tr>
+            </thead>
+            <tbody>
+                <tr>
+                    <td></td>
+                </tr>
+            </tbody>
+        </table>
+    </div>
+
+    <div class="group" style="top: 100px">
+        <div class="indicator box" style="top: 100px;"></div>
+        <table class="container" style="">
+            <thead>
+                <tr>
+                    <td class="sticky box"></td>
+                </tr>
+            </thead>
+            <tbody>
+                <tr>
+                    <td></td>
+                </tr>
+            </tbody>
+        </table>
+    </div>
+
+    <div class="group" style="top: 200px">
+        <div class="indicator box" style="top: 0;"></div>
+        <table class="container" style="">
+            <thead>
+                <tr>
+                    <td class="sticky box"></td>
+                </tr>
+            </thead>
+            <tbody>
+                <tr>
+                    <td></td>
+                </tr>
+            </tbody>
+        </table>
+    </div>
+    <div style="position: absolute; top: 620px;">
+    This test checks that sticky positioned table ths are contained by their table.
+    There should be no red.
+    </div>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-thead-top-expected.html b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-thead-top-expected.html
deleted file mode 100644
index ccb6f91..0000000
--- a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-thead-top-expected.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-<head>
-<style>
-    body {
-        margin: 0;
-        height: 2000px;
-        overflow: hidden; /* hide scrollbars */
-    }
-
-    .group {
-        display: inline-block;
-        position: relative;
-        width: 250px;
-        height: 500px;
-    }
-
-    .container {
-        width: 200px;
-        height: 400px;
-        outline: 2px solid black;
-    }
-
-    .box {
-        width: 200px;
-        height: 200px;
-    }
-
-    .sticky {
-        position: absolute;
-        background-color: green;
-    }
-
-    .indicator {
-        position: absolute;
-        top: 0;
-        left: 0;
-        background-color: red;
-    }
-</style>
-</head>
-<body>
-    <div class="group" style="top: -100px;">
-        <div class="indicator box" style="top: 200px;"></div>
-        <div class="container">
-            <div class="sticky box" style="top: 200px;"></div>
-        </div>
-    </div>
-
-    <div class="group" style="top: 0">
-        <div class="indicator box" style="top: 100px;"></div>
-        <div class="container">
-            <div class="sticky box" style="top: 100px;"></div>
-        </div>
-    </div>
-
-    <div class="group" style="top: 100px">
-        <div class="indicator box" style="top: 0;"></div>
-        <div class="container">
-            <div class="sticky box" style="top: 0;"></div>
-        </div>
-    </div>
-    <div style="position: absolute; top: 520px;">
-    This test checks that sticky positioned table theads are contained by their table.
-    There should be no red.
-    </div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-thead-top.html b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-thead-top.html
deleted file mode 100644
index 91e359d5..0000000
--- a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-thead-top.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE html>
-<script>
-if (window.internals) {
-    internals.settings.setCSSStickyPositionEnabled(true);
-}           
-</script>
-
-<html>
-<head>
-<style>
-    body {
-        margin: 0;
-        height: 2000px;
-        overflow: hidden; /* hide scrollbars */
-    }
-
-    .group {
-        display: inline-block;
-        position: relative;
-        width: 250px;
-        height: 500px;
-    }
-
-    .container {
-        width: 200px;
-        height: 400px;
-        outline: 2px solid black;
-        border: hidden;
-        border-width: 0px;
-        border-spacing: 0px !important;
-        border-collapse:collapse;
-        cellspacing: 0;
-        cellpadding: 0;
-        padding: 0;
-    }
-
-    .box {
-        width: 200px;
-        height: 198px;
-    }
-
-    .sticky {
-        position: sticky;
-        top: 100px;
-        background-color: green;
-    }
-
-    .indicator {
-        position: absolute;
-        top: 0;
-        left: 0;
-        background-color: red;
-    }
-</style>
-<script>
-    function doTest()
-    {
-        window.scrollTo(0, 100);
-    }
-    window.addEventListener('load', doTest, false);
-</script>
-</head>
-<body>
-    <div class="group">
-        <div class="indicator box" style="top: 200px;"></div>
-        <table class="container">
-            <thead class="sticky">
-                <tr>
-                    <td class="box"></td>
-                </tr>
-            </thead>
-            <tbody>
-                <tr>
-                    <td></td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-
-    <div class="group" style="top: 100px">
-        <div class="indicator box" style="top: 100px;"></div>
-        <table class="container" style="">
-            <thead class="sticky">
-                <tr>
-                    <td class="box"></td>
-                </tr>
-            </thead>
-            <tbody>
-                <tr>
-                    <td></td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-
-    <div class="group" style="top: 200px">
-        <div class="indicator box" style="top: 0;"></div>
-        <table class="container" style="">
-            <thead class="sticky">
-                <tr>
-                    <td class="box"></td>
-                </tr>
-            </thead>
-            <tbody>
-                <tr>
-                    <td></td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-    <div style="position: absolute; top: 620px;">
-    This test checks that sticky positioned table theads are contained by their table.
-    There should be no red.
-    </div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
index 17874fc..be803a7 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
index 1f55e06ca..fc0d947 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
index d654662e..4aab69c8 100644
--- a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
@@ -58,6 +58,7 @@
 #include "platform/heap/Handle.h"
 #include "platform/instrumentation/tracing/TraceEvent.h"
 #include "platform/weborigin/SecurityOrigin.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "v8/include/v8.h"
 #include "wtf/Assertions.h"
 
@@ -138,7 +139,7 @@
     // FIXME: Can this be removed when CSP moves to browser?
     ContentSecurityPolicy* csp = frame()->document()->contentSecurityPolicy();
     context->AllowCodeGenerationFromStrings(
-        csp->allowEval(0, ContentSecurityPolicy::SuppressReport));
+        csp->allowEval(0, SecurityViolationReportingPolicy::SuppressReporting));
     context->SetErrorMessageForCodeGenerationFromStrings(
         v8String(isolate(), csp->evalDisabledErrorMessage()));
   } else {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
index ac8405e3..a9d8cf0 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
@@ -57,6 +57,7 @@
 #include "platform/RuntimeEnabledFeatures.h"
 #include "platform/instrumentation/tracing/TraceEvent.h"
 #include "platform/loader/fetch/AccessControlStatus.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebScheduler.h"
 #include "public/platform/WebThread.h"
@@ -318,7 +319,7 @@
     if (ContentSecurityPolicy* policy =
             toDocument(executionContext)->contentSecurityPolicy())
       return policy->allowEval(ScriptState::from(context),
-                               ContentSecurityPolicy::SendReport,
+                               SecurityViolationReportingPolicy::Report,
                                ContentSecurityPolicy::WillThrowException);
   }
   return false;
diff --git a/third_party/WebKit/Source/build/scripts/make_computed_style_base.py b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
index 1367b7f1..b86dd26 100755
--- a/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
+++ b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
@@ -10,7 +10,7 @@
 import template_expander
 import make_style_builder
 
-from name_utilities import camel_case, lower_first, upper_first_letter
+from name_utilities import camel_case, lower_first, upper_first_letter, enum_for_css_keyword
 
 
 # Temporary hard-coded list of fields that are not CSS properties.
@@ -133,12 +133,7 @@
     # From the Blink style guide: Other data members should be prefixed by "m_". [names-data-members]
     field_name = 'm_' + property_name_lower
     bits_needed = math.log(len(property_['keywords']), 2)  # TODO: implement for non-enums
-
-    # Separate the type path from the type name, if specified.
-    if property_['field_type_path']:
-        type_name = property_['field_type_path'].split('/')[-1]
-    else:
-        type_name = property_['type_name']
+    type_name = property_['type_name']
 
     # For now, the getter name should match the field name. Later, getter names
     # will start with an uppercase letter, so if they conflict with the type name,
@@ -279,8 +274,16 @@
             'ComputedStyleBase.h': self.generate_base_computed_style_h,
             'ComputedStyleBase.cpp': self.generate_base_computed_style_cpp,
             'ComputedStyleBaseConstants.h': self.generate_base_computed_style_constants,
+            'CSSValueIDMappingsGenerated.h': self.generate_css_value_mappings,
         }
 
+        property_values = self._properties.values()
+
+        # Override the type name when field_type_path is specified
+        for property_ in property_values:
+            if property_['field_type_path']:
+                property_['type_name'] = property_['field_type_path'].split('/')[-1]
+
         # Create all the enums used by properties
         self._generated_enums = _create_enums(self._properties.values())
 
@@ -316,13 +319,15 @@
             for field in bucket:
                 self._fields.append(field)
 
+        self._include_paths = _get_include_paths(self._properties.values())
+
 
     @template_expander.use_jinja('ComputedStyleBase.h.tmpl')
     def generate_base_computed_style_h(self):
         return {
             'properties': self._properties,
             'enums': self._generated_enums,
-            'include_paths': _get_include_paths(self._properties.values()),
+            'include_paths': self._include_paths,
             'fields': self._fields,
             'expected_total_field_bytes': self._expected_total_field_bytes,
         }
@@ -345,5 +350,21 @@
             'expected_total_field_bytes': self._expected_total_field_bytes,
         }
 
+    @template_expander.use_jinja('CSSValueIDMappingsGenerated.h.tmpl')
+    def generate_css_value_mappings(self):
+        mappings = {}
+
+        for property_ in self._properties.values():
+            if property_['field_template'] == 'keyword':
+                mappings[property_['type_name']] = {
+                    'default_value': 'k' + camel_case(property_['initial_keyword']),
+                    'mapping': [('k' + camel_case(k), enum_for_css_keyword(k)) for k in property_['keywords']],
+                }
+
+        return {
+            'include_paths': self._include_paths,
+            'mappings': mappings,
+        }
+
 if __name__ == '__main__':
     json5_generator.Maker(ComputedStyleBaseWriter).main()
diff --git a/third_party/WebKit/Source/build/scripts/templates/CSSValueIDMappingsGenerated.h.tmpl b/third_party/WebKit/Source/build/scripts/templates/CSSValueIDMappingsGenerated.h.tmpl
new file mode 100644
index 0000000..206d68a
--- /dev/null
+++ b/third_party/WebKit/Source/build/scripts/templates/CSSValueIDMappingsGenerated.h.tmpl
@@ -0,0 +1,53 @@
+{% from 'macros.tmpl' import license %}
+{{license()}}
+
+#include "base/logging.h"
+#include "core/CSSValueKeywords.h"
+#include "core/ComputedStyleBaseConstants.h"
+{% for path in include_paths %}
+#include "{{path}}"
+{% endfor %}
+
+namespace blink {
+
+// TODO(shend): most enum values are stored contiguously so we just need
+// a subtraction and static_cast. This is much faster than switches.
+
+// Do not use these functions directly, use the non-generated versions
+// in CSSValueMappings.h
+
+namespace detail {
+
+template <class T>
+T cssValueIDToPlatformEnumGenerated(CSSValueID);
+
+{% for enum_name, mapping in mappings.items() %}
+template <>
+inline {{enum_name}} cssValueIDToPlatformEnumGenerated(CSSValueID v) {
+  switch (v) {
+  {% for cs_value, css_value in mapping['mapping']: %}
+    case {{css_value}}:
+      return {{enum_name}}::{{cs_value}};
+  {% endfor %}
+    default:
+      NOTREACHED();
+      return {{enum_name}}::{{mapping['default_value']}};
+  }
+}
+
+inline CSSValueID platformEnumToCSSValueIDGenerated({{enum_name}} v) {
+  switch (v) {
+  {% for cs_value, css_value in mapping['mapping']: %}
+    case {{enum_name}}::{{cs_value}}:
+      return {{css_value}};
+  {% endfor %}
+    default:
+      NOTREACHED();
+      return CSSValueNone;
+  }
+}
+
+{% endfor %}
+} // namespace detail
+
+} // namespace blink
diff --git a/third_party/WebKit/Source/core/BUILD.gn b/third_party/WebKit/Source/core/BUILD.gn
index 2c49d32..06d1d35 100644
--- a/third_party/WebKit/Source/core/BUILD.gn
+++ b/third_party/WebKit/Source/core/BUILD.gn
@@ -406,11 +406,13 @@
     "../build/scripts/templates/ComputedStyleBase.cpp.tmpl",
     "../build/scripts/templates/ComputedStyleBase.h.tmpl",
     "../build/scripts/templates/ComputedStyleBaseConstants.h.tmpl",
+    "../build/scripts/templates/CSSValueIDMappingsGenerated.h.tmpl",
   ]
   outputs = [
     "$blink_core_output_dir/ComputedStyleBase.cpp",
     "$blink_core_output_dir/ComputedStyleBase.h",
     "$blink_core_output_dir/ComputedStyleBaseConstants.h",
+    "$blink_core_output_dir/CSSValueIDMappingsGenerated.h",
   ]
 }
 
diff --git a/third_party/WebKit/Source/core/css/BUILD.gn b/third_party/WebKit/Source/core/css/BUILD.gn
index 0066c15..7bca7e6 100644
--- a/third_party/WebKit/Source/core/css/BUILD.gn
+++ b/third_party/WebKit/Source/core/css/BUILD.gn
@@ -148,6 +148,7 @@
     "CSSUnsetValue.cpp",
     "CSSUnsetValue.h",
     "CSSValue.cpp",
+    "CSSValueIDMappings.h",
     "CSSValueList.cpp",
     "CSSValuePair.cpp",
     "CSSValuePair.h",
diff --git a/third_party/WebKit/Source/core/css/CSSIdentifierValue.h b/third_party/WebKit/Source/core/css/CSSIdentifierValue.h
index 8944bc6..9d7d12b0 100644
--- a/third_party/WebKit/Source/core/css/CSSIdentifierValue.h
+++ b/third_party/WebKit/Source/core/css/CSSIdentifierValue.h
@@ -7,6 +7,7 @@
 
 #include "core/CSSValueKeywords.h"
 #include "core/css/CSSValue.h"
+#include "core/css/CSSValueIDMappings.h"
 #include "wtf/TypeTraits.h"
 
 namespace blink {
@@ -41,7 +42,10 @@
   }
 
   template <typename T>
-  inline T convertTo() const;  // Defined in CSSPrimitiveValueMappings.h
+  inline T convertTo()
+      const {  // Overridden for special cases in CSSPrimitiveValueMappings.h
+    return cssValueIDToPlatformEnum<T>(m_valueID);
+  }
 
   DECLARE_TRACE_AFTER_DISPATCH();
 
@@ -51,7 +55,10 @@
   // TODO(sashab): Remove this function, and update mapping methods to
   // specialize the create() method instead.
   template <typename T>
-  CSSIdentifierValue(T);  // Defined in CSSPrimitiveValueMappings.h
+  CSSIdentifierValue(
+      T t)  // Overriden for special cases in CSSPrimitiveValueMappings.h
+      : CSSValue(IdentifierClass),
+        m_valueID(platformEnumToCSSValueID(t)) {}
 
   CSSIdentifierValue(const Length&);
 
diff --git a/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h b/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
index 7a78493..842f8b6 100644
--- a/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
+++ b/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
@@ -47,9 +47,7 @@
 #include "platform/fonts/TextRenderingMode.h"
 #include "platform/graphics/GraphicsTypes.h"
 #include "platform/scroll/ScrollableArea.h"
-#include "platform/text/TextDirection.h"
 #include "platform/text/TextRun.h"
-#include "platform/text/UnicodeBidi.h"
 #include "platform/text/WritingMode.h"
 #include "public/platform/WebBlendMode.h"
 #include "wtf/MathExtras.h"
@@ -195,34 +193,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EPrintColorAdjust value)
-    : CSSValue(IdentifierClass) {
-  switch (value) {
-    case EPrintColorAdjust::kExact:
-      m_valueID = CSSValueExact;
-      break;
-    case EPrintColorAdjust::kEconomy:
-      m_valueID = CSSValueEconomy;
-      break;
-  }
-}
-
-template <>
-inline EPrintColorAdjust CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueEconomy:
-      return EPrintColorAdjust::kEconomy;
-    case CSSValueExact:
-      return EPrintColorAdjust::kExact;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EPrintColorAdjust::kEconomy;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(EBorderStyle e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -837,34 +807,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EBoxDirection e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EBoxDirection::kNormal:
-      m_valueID = CSSValueNormal;
-      break;
-    case EBoxDirection::kReverse:
-      m_valueID = CSSValueReverse;
-      break;
-  }
-}
-
-template <>
-inline EBoxDirection CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueNormal:
-      return EBoxDirection::kNormal;
-    case CSSValueReverse:
-      return EBoxDirection::kReverse;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EBoxDirection::kNormal;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(EBoxLines e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -923,82 +865,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(ECaptionSide e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case ECaptionSide::kLeft:
-      m_valueID = CSSValueLeft;
-      break;
-    case ECaptionSide::kRight:
-      m_valueID = CSSValueRight;
-      break;
-    case ECaptionSide::kTop:
-      m_valueID = CSSValueTop;
-      break;
-    case ECaptionSide::kBottom:
-      m_valueID = CSSValueBottom;
-      break;
-  }
-}
-
-template <>
-inline ECaptionSide CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueLeft:
-      return ECaptionSide::kLeft;
-    case CSSValueRight:
-      return ECaptionSide::kRight;
-    case CSSValueTop:
-      return ECaptionSide::kTop;
-    case CSSValueBottom:
-      return ECaptionSide::kBottom;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return ECaptionSide::kTop;
-}
-
-template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EClear e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EClear::kNone:
-      m_valueID = CSSValueNone;
-      break;
-    case EClear::kLeft:
-      m_valueID = CSSValueLeft;
-      break;
-    case EClear::kRight:
-      m_valueID = CSSValueRight;
-      break;
-    case EClear::kBoth:
-      m_valueID = CSSValueBoth;
-      break;
-  }
-}
-
-template <>
-inline EClear CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueNone:
-      return EClear::kNone;
-    case CSSValueLeft:
-      return EClear::kLeft;
-    case CSSValueRight:
-      return EClear::kRight;
-    case CSSValueBoth:
-      return EClear::kBoth;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EClear::kNone;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(ECursor e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -1331,34 +1197,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EEmptyCells e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EEmptyCells::kShow:
-      m_valueID = CSSValueShow;
-      break;
-    case EEmptyCells::kHide:
-      m_valueID = CSSValueHide;
-      break;
-  }
-}
-
-template <>
-inline EEmptyCells CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueShow:
-      return EEmptyCells::kShow;
-    case CSSValueHide:
-      return EEmptyCells::kHide;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EEmptyCells::kShow;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(EFlexDirection e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -1539,332 +1377,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EListStylePosition e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EListStylePosition::kOutside:
-      m_valueID = CSSValueOutside;
-      break;
-    case EListStylePosition::kInside:
-      m_valueID = CSSValueInside;
-      break;
-  }
-}
-
-template <>
-inline EListStylePosition CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueOutside:
-      return EListStylePosition::kOutside;
-    case CSSValueInside:
-      return EListStylePosition::kInside;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EListStylePosition::kOutside;
-}
-
-template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EListStyleType e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EListStyleType::kArabicIndic:
-      m_valueID = CSSValueArabicIndic;
-      break;
-    case EListStyleType::kArmenian:
-      m_valueID = CSSValueArmenian;
-      break;
-    case EListStyleType::kBengali:
-      m_valueID = CSSValueBengali;
-      break;
-    case EListStyleType::kCambodian:
-      m_valueID = CSSValueCambodian;
-      break;
-    case EListStyleType::kCircle:
-      m_valueID = CSSValueCircle;
-      break;
-    case EListStyleType::kCjkEarthlyBranch:
-      m_valueID = CSSValueCjkEarthlyBranch;
-      break;
-    case EListStyleType::kCjkHeavenlyStem:
-      m_valueID = CSSValueCjkHeavenlyStem;
-      break;
-    case EListStyleType::kCjkIdeographic:
-      m_valueID = CSSValueCjkIdeographic;
-      break;
-    case EListStyleType::kDecimalLeadingZero:
-      m_valueID = CSSValueDecimalLeadingZero;
-      break;
-    case EListStyleType::kDecimal:
-      m_valueID = CSSValueDecimal;
-      break;
-    case EListStyleType::kDevanagari:
-      m_valueID = CSSValueDevanagari;
-      break;
-    case EListStyleType::kDisc:
-      m_valueID = CSSValueDisc;
-      break;
-    case EListStyleType::kEthiopicHalehame:
-      m_valueID = CSSValueEthiopicHalehame;
-      break;
-    case EListStyleType::kEthiopicHalehameAm:
-      m_valueID = CSSValueEthiopicHalehameAm;
-      break;
-    case EListStyleType::kEthiopicHalehameTiEt:
-      m_valueID = CSSValueEthiopicHalehameTiEt;
-      break;
-    case EListStyleType::kEthiopicHalehameTiEr:
-      m_valueID = CSSValueEthiopicHalehameTiEr;
-      break;
-    case EListStyleType::kGeorgian:
-      m_valueID = CSSValueGeorgian;
-      break;
-    case EListStyleType::kGujarati:
-      m_valueID = CSSValueGujarati;
-      break;
-    case EListStyleType::kGurmukhi:
-      m_valueID = CSSValueGurmukhi;
-      break;
-    case EListStyleType::kHangul:
-      m_valueID = CSSValueHangul;
-      break;
-    case EListStyleType::kHangulConsonant:
-      m_valueID = CSSValueHangulConsonant;
-      break;
-    case EListStyleType::kKoreanHangulFormal:
-      m_valueID = CSSValueKoreanHangulFormal;
-      break;
-    case EListStyleType::kKoreanHanjaFormal:
-      m_valueID = CSSValueKoreanHanjaFormal;
-      break;
-    case EListStyleType::kKoreanHanjaInformal:
-      m_valueID = CSSValueKoreanHanjaInformal;
-      break;
-    case EListStyleType::kHebrew:
-      m_valueID = CSSValueHebrew;
-      break;
-    case EListStyleType::kHiragana:
-      m_valueID = CSSValueHiragana;
-      break;
-    case EListStyleType::kHiraganaIroha:
-      m_valueID = CSSValueHiraganaIroha;
-      break;
-    case EListStyleType::kKannada:
-      m_valueID = CSSValueKannada;
-      break;
-    case EListStyleType::kKatakana:
-      m_valueID = CSSValueKatakana;
-      break;
-    case EListStyleType::kKatakanaIroha:
-      m_valueID = CSSValueKatakanaIroha;
-      break;
-    case EListStyleType::kKhmer:
-      m_valueID = CSSValueKhmer;
-      break;
-    case EListStyleType::kLao:
-      m_valueID = CSSValueLao;
-      break;
-    case EListStyleType::kLowerAlpha:
-      m_valueID = CSSValueLowerAlpha;
-      break;
-    case EListStyleType::kLowerArmenian:
-      m_valueID = CSSValueLowerArmenian;
-      break;
-    case EListStyleType::kLowerGreek:
-      m_valueID = CSSValueLowerGreek;
-      break;
-    case EListStyleType::kLowerLatin:
-      m_valueID = CSSValueLowerLatin;
-      break;
-    case EListStyleType::kLowerRoman:
-      m_valueID = CSSValueLowerRoman;
-      break;
-    case EListStyleType::kMalayalam:
-      m_valueID = CSSValueMalayalam;
-      break;
-    case EListStyleType::kMongolian:
-      m_valueID = CSSValueMongolian;
-      break;
-    case EListStyleType::kMyanmar:
-      m_valueID = CSSValueMyanmar;
-      break;
-    case EListStyleType::kNone:
-      m_valueID = CSSValueNone;
-      break;
-    case EListStyleType::kOriya:
-      m_valueID = CSSValueOriya;
-      break;
-    case EListStyleType::kPersian:
-      m_valueID = CSSValuePersian;
-      break;
-    case EListStyleType::kSimpChineseFormal:
-      m_valueID = CSSValueSimpChineseFormal;
-      break;
-    case EListStyleType::kSimpChineseInformal:
-      m_valueID = CSSValueSimpChineseInformal;
-      break;
-    case EListStyleType::kSquare:
-      m_valueID = CSSValueSquare;
-      break;
-    case EListStyleType::kTelugu:
-      m_valueID = CSSValueTelugu;
-      break;
-    case EListStyleType::kThai:
-      m_valueID = CSSValueThai;
-      break;
-    case EListStyleType::kTibetan:
-      m_valueID = CSSValueTibetan;
-      break;
-    case EListStyleType::kTradChineseFormal:
-      m_valueID = CSSValueTradChineseFormal;
-      break;
-    case EListStyleType::kTradChineseInformal:
-      m_valueID = CSSValueTradChineseInformal;
-      break;
-    case EListStyleType::kUpperAlpha:
-      m_valueID = CSSValueUpperAlpha;
-      break;
-    case EListStyleType::kUpperArmenian:
-      m_valueID = CSSValueUpperArmenian;
-      break;
-    case EListStyleType::kUpperLatin:
-      m_valueID = CSSValueUpperLatin;
-      break;
-    case EListStyleType::kUpperRoman:
-      m_valueID = CSSValueUpperRoman;
-      break;
-    case EListStyleType::kUrdu:
-      m_valueID = CSSValueUrdu;
-      break;
-  }
-}
-
-template <>
-inline EListStyleType CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueNone:
-      return EListStyleType::kNone;
-    case CSSValueArabicIndic:
-      return EListStyleType::kArabicIndic;
-    case CSSValueArmenian:
-      return EListStyleType::kArmenian;
-    case CSSValueBengali:
-      return EListStyleType::kBengali;
-    case CSSValueCambodian:
-      return EListStyleType::kCambodian;
-    case CSSValueCircle:
-      return EListStyleType::kCircle;
-    case CSSValueCjkEarthlyBranch:
-      return EListStyleType::kCjkEarthlyBranch;
-    case CSSValueCjkHeavenlyStem:
-      return EListStyleType::kCjkHeavenlyStem;
-    case CSSValueCjkIdeographic:
-      return EListStyleType::kCjkIdeographic;
-    case CSSValueDecimalLeadingZero:
-      return EListStyleType::kDecimalLeadingZero;
-    case CSSValueDecimal:
-      return EListStyleType::kDecimal;
-    case CSSValueDevanagari:
-      return EListStyleType::kDevanagari;
-    case CSSValueDisc:
-      return EListStyleType::kDisc;
-    case CSSValueEthiopicHalehame:
-      return EListStyleType::kEthiopicHalehame;
-    case CSSValueEthiopicHalehameAm:
-      return EListStyleType::kEthiopicHalehameAm;
-    case CSSValueEthiopicHalehameTiEt:
-      return EListStyleType::kEthiopicHalehameTiEt;
-    case CSSValueEthiopicHalehameTiEr:
-      return EListStyleType::kEthiopicHalehameTiEr;
-    case CSSValueGeorgian:
-      return EListStyleType::kGeorgian;
-    case CSSValueGujarati:
-      return EListStyleType::kGujarati;
-    case CSSValueGurmukhi:
-      return EListStyleType::kGurmukhi;
-    case CSSValueHangul:
-      return EListStyleType::kHangul;
-    case CSSValueHangulConsonant:
-      return EListStyleType::kHangulConsonant;
-    case CSSValueKoreanHangulFormal:
-      return EListStyleType::kKoreanHangulFormal;
-    case CSSValueKoreanHanjaFormal:
-      return EListStyleType::kKoreanHanjaFormal;
-    case CSSValueKoreanHanjaInformal:
-      return EListStyleType::kKoreanHanjaInformal;
-    case CSSValueHebrew:
-      return EListStyleType::kHebrew;
-    case CSSValueHiragana:
-      return EListStyleType::kHiragana;
-    case CSSValueHiraganaIroha:
-      return EListStyleType::kHiraganaIroha;
-    case CSSValueKannada:
-      return EListStyleType::kKannada;
-    case CSSValueKatakana:
-      return EListStyleType::kKatakana;
-    case CSSValueKatakanaIroha:
-      return EListStyleType::kKatakanaIroha;
-    case CSSValueKhmer:
-      return EListStyleType::kKhmer;
-    case CSSValueLao:
-      return EListStyleType::kLao;
-    case CSSValueLowerAlpha:
-      return EListStyleType::kLowerAlpha;
-    case CSSValueLowerArmenian:
-      return EListStyleType::kLowerArmenian;
-    case CSSValueLowerGreek:
-      return EListStyleType::kLowerGreek;
-    case CSSValueLowerLatin:
-      return EListStyleType::kLowerLatin;
-    case CSSValueLowerRoman:
-      return EListStyleType::kLowerRoman;
-    case CSSValueMalayalam:
-      return EListStyleType::kMalayalam;
-    case CSSValueMongolian:
-      return EListStyleType::kMongolian;
-    case CSSValueMyanmar:
-      return EListStyleType::kMyanmar;
-    case CSSValueOriya:
-      return EListStyleType::kOriya;
-    case CSSValuePersian:
-      return EListStyleType::kPersian;
-    case CSSValueSimpChineseFormal:
-      return EListStyleType::kSimpChineseFormal;
-    case CSSValueSimpChineseInformal:
-      return EListStyleType::kSimpChineseInformal;
-    case CSSValueSquare:
-      return EListStyleType::kSquare;
-    case CSSValueTelugu:
-      return EListStyleType::kTelugu;
-    case CSSValueThai:
-      return EListStyleType::kThai;
-    case CSSValueTibetan:
-      return EListStyleType::kTibetan;
-    case CSSValueTradChineseFormal:
-      return EListStyleType::kTradChineseFormal;
-    case CSSValueTradChineseInformal:
-      return EListStyleType::kTradChineseInformal;
-    case CSSValueUpperAlpha:
-      return EListStyleType::kUpperAlpha;
-    case CSSValueUpperArmenian:
-      return EListStyleType::kUpperArmenian;
-    case CSSValueUpperLatin:
-      return EListStyleType::kUpperLatin;
-    case CSSValueUpperRoman:
-      return EListStyleType::kUpperRoman;
-    case CSSValueUrdu:
-      return EListStyleType::kUrdu;
-    default:
-      break;
-  }
-
-  NOTREACHED();
-  return EListStyleType::kNone;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(EMarginCollapse e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -1893,168 +1405,11 @@
       break;
   }
 
-  ASSERT_NOT_REACHED();
+  NOTREACHED();
   return MarginCollapseCollapse;
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EOverflow e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EOverflow::kVisible:
-      m_valueID = CSSValueVisible;
-      break;
-    case EOverflow::kHidden:
-      m_valueID = CSSValueHidden;
-      break;
-    case EOverflow::kScroll:
-      m_valueID = CSSValueScroll;
-      break;
-    case EOverflow::kAuto:
-      m_valueID = CSSValueAuto;
-      break;
-    case EOverflow::kOverlay:
-      m_valueID = CSSValueOverlay;
-      break;
-    case EOverflow::kWebkitPagedX:
-      m_valueID = CSSValueWebkitPagedX;
-      break;
-    case EOverflow::kWebkitPagedY:
-      m_valueID = CSSValueWebkitPagedY;
-      break;
-  }
-}
-
-template <>
-inline EOverflow CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueVisible:
-      return EOverflow::kVisible;
-    case CSSValueHidden:
-      return EOverflow::kHidden;
-    case CSSValueScroll:
-      return EOverflow::kScroll;
-    case CSSValueAuto:
-      return EOverflow::kAuto;
-    case CSSValueOverlay:
-      return EOverflow::kOverlay;
-    case CSSValueWebkitPagedX:
-      return EOverflow::kWebkitPagedX;
-    case CSSValueWebkitPagedY:
-      return EOverflow::kWebkitPagedY;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EOverflow::kVisible;
-}
-
-template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EBreakBetween e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    default:
-      ASSERT_NOT_REACHED();
-    case EBreakBetween::kAuto:
-      m_valueID = CSSValueAuto;
-      break;
-    case EBreakBetween::kAvoid:
-      m_valueID = CSSValueAvoid;
-      break;
-    case EBreakBetween::kAvoidColumn:
-      m_valueID = CSSValueAvoidColumn;
-      break;
-    case EBreakBetween::kAvoidPage:
-      m_valueID = CSSValueAvoidPage;
-      break;
-    case EBreakBetween::kColumn:
-      m_valueID = CSSValueColumn;
-      break;
-    case EBreakBetween::kLeft:
-      m_valueID = CSSValueLeft;
-      break;
-    case EBreakBetween::kPage:
-      m_valueID = CSSValuePage;
-      break;
-    case EBreakBetween::kRecto:
-      m_valueID = CSSValueRecto;
-      break;
-    case EBreakBetween::kRight:
-      m_valueID = CSSValueRight;
-      break;
-    case EBreakBetween::kVerso:
-      m_valueID = CSSValueVerso;
-      break;
-  }
-}
-
-template <>
-inline EBreakBetween CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    default:
-      ASSERT_NOT_REACHED();
-    case CSSValueAuto:
-      return EBreakBetween::kAuto;
-    case CSSValueAvoid:
-      return EBreakBetween::kAvoid;
-    case CSSValueAvoidColumn:
-      return EBreakBetween::kAvoidColumn;
-    case CSSValueAvoidPage:
-      return EBreakBetween::kAvoidPage;
-    case CSSValueColumn:
-      return EBreakBetween::kColumn;
-    case CSSValueLeft:
-      return EBreakBetween::kLeft;
-    case CSSValuePage:
-      return EBreakBetween::kPage;
-    case CSSValueRecto:
-      return EBreakBetween::kRecto;
-    case CSSValueRight:
-      return EBreakBetween::kRight;
-    case CSSValueVerso:
-      return EBreakBetween::kVerso;
-  }
-}
-
-template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EBreakInside e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    default:
-      NOTREACHED();
-    case EBreakInside::kAuto:
-      m_valueID = CSSValueAuto;
-      break;
-    case EBreakInside::kAvoid:
-      m_valueID = CSSValueAvoid;
-      break;
-    case EBreakInside::kAvoidColumn:
-      m_valueID = CSSValueAvoidColumn;
-      break;
-    case EBreakInside::kAvoidPage:
-      m_valueID = CSSValueAvoidPage;
-      break;
-  }
-}
-
-template <>
-inline EBreakInside CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    default:
-      NOTREACHED();
-    case CSSValueAuto:
-      return EBreakInside::kAuto;
-    case CSSValueAvoid:
-      return EBreakInside::kAvoid;
-    case CSSValueAvoidColumn:
-      return EBreakInside::kAvoidColumn;
-    case CSSValueAvoidPage:
-      return EBreakInside::kAvoidPage;
-  }
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(EPosition e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -2168,69 +1523,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(ETextAlign e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case ETextAlign::kStart:
-      m_valueID = CSSValueStart;
-      break;
-    case ETextAlign::kEnd:
-      m_valueID = CSSValueEnd;
-      break;
-    case ETextAlign::kLeft:
-      m_valueID = CSSValueLeft;
-      break;
-    case ETextAlign::kRight:
-      m_valueID = CSSValueRight;
-      break;
-    case ETextAlign::kCenter:
-      m_valueID = CSSValueCenter;
-      break;
-    case ETextAlign::kJustify:
-      m_valueID = CSSValueJustify;
-      break;
-    case ETextAlign::kWebkitLeft:
-      m_valueID = CSSValueWebkitLeft;
-      break;
-    case ETextAlign::kWebkitRight:
-      m_valueID = CSSValueWebkitRight;
-      break;
-    case ETextAlign::kWebkitCenter:
-      m_valueID = CSSValueWebkitCenter;
-      break;
-  }
-}
-
-template <>
-inline ETextAlign CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueWebkitAuto:  // Legacy -webkit-auto. Eqiuvalent to start.
-    case CSSValueStart:
-      return ETextAlign::kStart;
-    case CSSValueEnd:
-      return ETextAlign::kEnd;
-    case CSSValueCenter:
-    case CSSValueInternalCenter:
-      return ETextAlign::kCenter;
-    case CSSValueLeft:
-      return ETextAlign::kLeft;
-    case CSSValueRight:
-      return ETextAlign::kRight;
-    case CSSValueJustify:
-      return ETextAlign::kJustify;
-    case CSSValueWebkitLeft:
-      return ETextAlign::kWebkitLeft;
-    case CSSValueWebkitRight:
-      return ETextAlign::kWebkitRight;
-    case CSSValueWebkitCenter:
-      return ETextAlign::kWebkitCenter;
-    default:
-      NOTREACHED();
-      return ETextAlign::kLeft;
-  }
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(TextAlignLast e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -2449,95 +1741,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(ETextTransform e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case ETextTransform::kCapitalize:
-      m_valueID = CSSValueCapitalize;
-      break;
-    case ETextTransform::kUppercase:
-      m_valueID = CSSValueUppercase;
-      break;
-    case ETextTransform::kLowercase:
-      m_valueID = CSSValueLowercase;
-      break;
-    case ETextTransform::kNone:
-      m_valueID = CSSValueNone;
-      break;
-  }
-}
-
-template <>
-inline ETextTransform CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueCapitalize:
-      return ETextTransform::kCapitalize;
-    case CSSValueUppercase:
-      return ETextTransform::kUppercase;
-    case CSSValueLowercase:
-      return ETextTransform::kLowercase;
-    case CSSValueNone:
-      return ETextTransform::kNone;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return ETextTransform::kNone;
-}
-
-template <>
-inline CSSIdentifierValue::CSSIdentifierValue(UnicodeBidi e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case UnicodeBidi::kNormal:
-      m_valueID = CSSValueNormal;
-      break;
-    case UnicodeBidi::kEmbed:
-      m_valueID = CSSValueEmbed;
-      break;
-    case UnicodeBidi::kBidiOverride:
-      m_valueID = CSSValueBidiOverride;
-      break;
-    case UnicodeBidi::kIsolate:
-      m_valueID = CSSValueIsolate;
-      break;
-    case UnicodeBidi::kIsolateOverride:
-      m_valueID = CSSValueIsolateOverride;
-      break;
-    case UnicodeBidi::kPlaintext:
-      m_valueID = CSSValuePlaintext;
-      break;
-  }
-}
-
-template <>
-inline UnicodeBidi CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueNormal:
-      return UnicodeBidi::kNormal;
-    case CSSValueEmbed:
-      return UnicodeBidi::kEmbed;
-    case CSSValueBidiOverride:
-      return UnicodeBidi::kBidiOverride;
-    case CSSValueIsolate:
-    case CSSValueWebkitIsolate:
-      return UnicodeBidi::kIsolate;
-    case CSSValueIsolateOverride:
-    case CSSValueWebkitIsolateOverride:
-      return UnicodeBidi::kIsolateOverride;
-    case CSSValuePlaintext:
-    case CSSValueWebkitPlaintext:
-      return UnicodeBidi::kPlaintext;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return UnicodeBidi::kNormal;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(EUserDrag e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -2706,87 +1909,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EVisibility e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EVisibility::kVisible:
-      m_valueID = CSSValueVisible;
-      break;
-    case EVisibility::kHidden:
-      m_valueID = CSSValueHidden;
-      break;
-    case EVisibility::kCollapse:
-      m_valueID = CSSValueCollapse;
-      break;
-  }
-}
-
-template <>
-inline EVisibility CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueHidden:
-      return EVisibility::kHidden;
-    case CSSValueVisible:
-      return EVisibility::kVisible;
-    case CSSValueCollapse:
-      return EVisibility::kCollapse;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EVisibility::kVisible;
-}
-
-template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EWhiteSpace e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EWhiteSpace::kNormal:
-      m_valueID = CSSValueNormal;
-      break;
-    case EWhiteSpace::kPre:
-      m_valueID = CSSValuePre;
-      break;
-    case EWhiteSpace::kPreWrap:
-      m_valueID = CSSValuePreWrap;
-      break;
-    case EWhiteSpace::kPreLine:
-      m_valueID = CSSValuePreLine;
-      break;
-    case EWhiteSpace::kNowrap:
-      m_valueID = CSSValueNowrap;
-      break;
-    case EWhiteSpace::kWebkitNowrap:
-      m_valueID = CSSValueWebkitNowrap;
-      break;
-  }
-}
-
-template <>
-inline EWhiteSpace CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueWebkitNowrap:
-      return EWhiteSpace::kWebkitNowrap;
-    case CSSValueNowrap:
-      return EWhiteSpace::kNowrap;
-    case CSSValuePre:
-      return EWhiteSpace::kPre;
-    case CSSValuePreWrap:
-      return EWhiteSpace::kPreWrap;
-    case CSSValuePreLine:
-      return EWhiteSpace::kPreLine;
-    case CSSValueNormal:
-      return EWhiteSpace::kNormal;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EWhiteSpace::kNormal;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(EWordBreak e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -2825,39 +1947,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EOverflowAnchor e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EOverflowAnchor::kVisible:
-      m_valueID = CSSValueVisible;
-      break;
-    case EOverflowAnchor::kNone:
-      m_valueID = CSSValueNone;
-      break;
-    case EOverflowAnchor::kAuto:
-      m_valueID = CSSValueAuto;
-      break;
-  }
-}
-
-template <>
-inline EOverflowAnchor CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueVisible:
-      return EOverflowAnchor::kVisible;
-    case CSSValueNone:
-      return EOverflowAnchor::kNone;
-    case CSSValueAuto:
-      return EOverflowAnchor::kAuto;
-    default:
-      break;
-  }
-
-  NOTREACHED();
-  return EOverflowAnchor::kNone;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(EOverflowWrap e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -2886,73 +1975,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(TextDirection e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case TextDirection::kLtr:
-      m_valueID = CSSValueLtr;
-      break;
-    case TextDirection::kRtl:
-      m_valueID = CSSValueRtl;
-      break;
-  }
-}
-
-template <>
-inline TextDirection CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueLtr:
-      return TextDirection::kLtr;
-    case CSSValueRtl:
-      return TextDirection::kRtl;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return TextDirection::kLtr;
-}
-
-template <>
-inline CSSIdentifierValue::CSSIdentifierValue(WritingMode e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case WritingMode::kHorizontalTb:
-      m_valueID = CSSValueHorizontalTb;
-      break;
-    case WritingMode::kVerticalRl:
-      m_valueID = CSSValueVerticalRl;
-      break;
-    case WritingMode::kVerticalLr:
-      m_valueID = CSSValueVerticalLr;
-      break;
-  }
-}
-
-template <>
-inline WritingMode CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueHorizontalTb:
-    case CSSValueLr:
-    case CSSValueLrTb:
-    case CSSValueRl:
-    case CSSValueRlTb:
-      return WritingMode::kHorizontalTb;
-    case CSSValueVerticalRl:
-    case CSSValueTb:
-    case CSSValueTbRl:
-      return WritingMode::kVerticalRl;
-    case CSSValueVerticalLr:
-      return WritingMode::kVerticalLr;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return WritingMode::kHorizontalTb;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(TextCombine e)
     : CSSValue(IdentifierClass) {
   switch (e) {
@@ -3180,79 +2202,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EPointerEvents e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EPointerEvents::kNone:
-      m_valueID = CSSValueNone;
-      break;
-    case EPointerEvents::kStroke:
-      m_valueID = CSSValueStroke;
-      break;
-    case EPointerEvents::kFill:
-      m_valueID = CSSValueFill;
-      break;
-    case EPointerEvents::kPainted:
-      m_valueID = CSSValuePainted;
-      break;
-    case EPointerEvents::kVisible:
-      m_valueID = CSSValueVisible;
-      break;
-    case EPointerEvents::kVisibleStroke:
-      m_valueID = CSSValueVisibleStroke;
-      break;
-    case EPointerEvents::kVisibleFill:
-      m_valueID = CSSValueVisibleFill;
-      break;
-    case EPointerEvents::kVisiblePainted:
-      m_valueID = CSSValueVisiblePainted;
-      break;
-    case EPointerEvents::kAuto:
-      m_valueID = CSSValueAuto;
-      break;
-    case EPointerEvents::kAll:
-      m_valueID = CSSValueAll;
-      break;
-    case EPointerEvents::kBoundingBox:
-      m_valueID = CSSValueBoundingBox;
-      break;
-  }
-}
-
-template <>
-inline EPointerEvents CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueAll:
-      return EPointerEvents::kAll;
-    case CSSValueAuto:
-      return EPointerEvents::kAuto;
-    case CSSValueNone:
-      return EPointerEvents::kNone;
-    case CSSValueVisiblePainted:
-      return EPointerEvents::kVisiblePainted;
-    case CSSValueVisibleFill:
-      return EPointerEvents::kVisibleFill;
-    case CSSValueVisibleStroke:
-      return EPointerEvents::kVisibleStroke;
-    case CSSValueVisible:
-      return EPointerEvents::kVisible;
-    case CSSValuePainted:
-      return EPointerEvents::kPainted;
-    case CSSValueFill:
-      return EPointerEvents::kFill;
-    case CSSValueStroke:
-      return EPointerEvents::kStroke;
-    case CSSValueBoundingBox:
-      return EPointerEvents::kBoundingBox;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EPointerEvents::kAll;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(FontDescription::Kerning kerning)
     : CSSValue(IdentifierClass) {
   switch (kerning) {
@@ -3945,34 +2894,6 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(EBorderCollapse e)
-    : CSSValue(IdentifierClass) {
-  switch (e) {
-    case EBorderCollapse::kSeparate:
-      m_valueID = CSSValueSeparate;
-      break;
-    case EBorderCollapse::kCollapse:
-      m_valueID = CSSValueCollapse;
-      break;
-  }
-}
-
-template <>
-inline EBorderCollapse CSSIdentifierValue::convertTo() const {
-  switch (m_valueID) {
-    case CSSValueSeparate:
-      return EBorderCollapse::kSeparate;
-    case CSSValueCollapse:
-      return EBorderCollapse::kCollapse;
-    default:
-      break;
-  }
-
-  ASSERT_NOT_REACHED();
-  return EBorderCollapse::kSeparate;
-}
-
-template <>
 inline CSSIdentifierValue::CSSIdentifierValue(EImageRendering e)
     : CSSValue(IdentifierClass) {
   switch (e) {
diff --git a/third_party/WebKit/Source/core/css/CSSValueIDMappings.h b/third_party/WebKit/Source/core/css/CSSValueIDMappings.h
new file mode 100644
index 0000000..ce922e3c
--- /dev/null
+++ b/third_party/WebKit/Source/core/css/CSSValueIDMappings.h
@@ -0,0 +1,70 @@
+// 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 CSSValueIDMappings_h
+#define CSSValueIDMappings_h
+
+#include "core/CSSValueIDMappingsGenerated.h"
+
+namespace blink {
+
+template <class T>
+T cssValueIDToPlatformEnum(CSSValueID v) {
+  // By default, we use the generated mappings. For special cases, we
+  // specialize.
+  return detail::cssValueIDToPlatformEnumGenerated<T>(v);
+}
+
+template <class T>
+inline CSSValueID platformEnumToCSSValueID(T v) {
+  // By default, we use the generated mappings. For special cases, we overload.
+  return detail::platformEnumToCSSValueIDGenerated(v);
+}
+
+template <>
+inline UnicodeBidi cssValueIDToPlatformEnum(CSSValueID v) {
+  if (v == CSSValueWebkitIsolate)
+    return UnicodeBidi::kIsolate;
+  if (v == CSSValueWebkitIsolateOverride)
+    return UnicodeBidi::kIsolateOverride;
+  if (v == CSSValueWebkitPlaintext)
+    return UnicodeBidi::kPlaintext;
+  return detail::cssValueIDToPlatformEnumGenerated<UnicodeBidi>(v);
+}
+
+template <>
+inline ETextAlign cssValueIDToPlatformEnum(CSSValueID v) {
+  if (v == CSSValueWebkitAuto)  // Legacy -webkit-auto. Eqiuvalent to start.
+    return ETextAlign::kStart;
+  if (v == CSSValueInternalCenter)
+    return ETextAlign::kCenter;
+  return detail::cssValueIDToPlatformEnumGenerated<ETextAlign>(v);
+}
+
+template <>
+inline WritingMode cssValueIDToPlatformEnum(CSSValueID v) {
+  switch (v) {
+    case CSSValueHorizontalTb:
+    case CSSValueLr:
+    case CSSValueLrTb:
+    case CSSValueRl:
+    case CSSValueRlTb:
+      return WritingMode::kHorizontalTb;
+    case CSSValueVerticalRl:
+    case CSSValueTb:
+    case CSSValueTbRl:
+      return WritingMode::kVerticalRl;
+    case CSSValueVerticalLr:
+      return WritingMode::kVerticalLr;
+    default:
+      break;
+  }
+
+  NOTREACHED();
+  return WritingMode::kHorizontalTb;
+}
+
+}  // namespace blink
+
+#endif
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp b/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
index a757ed1..1e9fa35 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
@@ -340,14 +340,16 @@
       style.getWritingMode() != layoutParentStyle.getWritingMode())
     style.setDisplay(EDisplay::InlineBlock);
 
-  // After performing the display mutation, check table rows. We do not honor
-  // position: relative table rows. This has been established for position:
-  // relative in CSS2.1 (and caused a crash in containingBlock() on some sites).
+  // We do not honor position: relative or sticky for table rows, headers, and
+  // footers. This is correct for position: relative in CSS2.1 (and caused a
+  // crash in containingBlock() on some sites) and position: sticky is defined
+  // as following position: relative behavior for table elements. It is
+  // incorrect for CSS3.
   if ((style.display() == EDisplay::TableHeaderGroup ||
        style.display() == EDisplay::TableRowGroup ||
        style.display() == EDisplay::TableFooterGroup ||
        style.display() == EDisplay::TableRow) &&
-      style.position() == EPosition::kRelative)
+      style.hasInFlowPosition())
     style.setPosition(EPosition::kStatic);
 
   // Cannot support position: sticky for table columns and column groups because
diff --git a/third_party/WebKit/Source/core/frame/DOMWindowTimers.cpp b/third_party/WebKit/Source/core/frame/DOMWindowTimers.cpp
index aeef821..6dcf949 100644
--- a/third_party/WebKit/Source/core/frame/DOMWindowTimers.cpp
+++ b/third_party/WebKit/Source/core/frame/DOMWindowTimers.cpp
@@ -39,6 +39,7 @@
 #include "core/frame/DOMTimer.h"
 #include "core/frame/csp/ContentSecurityPolicy.h"
 #include "core/workers/WorkerGlobalScope.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 
 namespace blink {
 
@@ -51,10 +52,9 @@
     Document* document = static_cast<Document*>(executionContext);
     if (!document->frame())
       return false;
-    if (isEval &&
-        !document->contentSecurityPolicy()->allowEval(
-            scriptState, ContentSecurityPolicy::SendReport,
-            ContentSecurityPolicy::WillNotThrowException))
+    if (isEval && !document->contentSecurityPolicy()->allowEval(
+                      scriptState, SecurityViolationReportingPolicy::Report,
+                      ContentSecurityPolicy::WillNotThrowException))
       return false;
     return true;
   }
@@ -65,7 +65,8 @@
       return false;
     ContentSecurityPolicy* policy = workerGlobalScope->contentSecurityPolicy();
     if (isEval && policy &&
-        !policy->allowEval(scriptState, ContentSecurityPolicy::SendReport,
+        !policy->allowEval(scriptState,
+                           SecurityViolationReportingPolicy::Report,
                            ContentSecurityPolicy::WillNotThrowException))
       return false;
     return true;
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp
index b6c042fc..ca933a14 100644
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
@@ -1975,6 +1975,13 @@
       continue;
 
     PaintLayer* layer = toLayoutBoxModelObject(layoutObject)->layer();
+
+    // This method can be called during layout at which point the ancestor
+    // overflow layer may not be set yet. We can safely skip such cases as we
+    // will revisit this method during compositing inputs update.
+    if (!layer->ancestorOverflowLayer())
+      continue;
+
     StickyConstraintsMap constraintsMap = layer->ancestorOverflowLayer()
                                               ->getScrollableArea()
                                               ->stickyConstraintsMap();
diff --git a/third_party/WebKit/Source/core/frame/FrameViewTest.cpp b/third_party/WebKit/Source/core/frame/FrameViewTest.cpp
index a182ea5..e4f7f9c0 100644
--- a/third_party/WebKit/Source/core/frame/FrameViewTest.cpp
+++ b/third_party/WebKit/Source/core/frame/FrameViewTest.cpp
@@ -13,6 +13,7 @@
 #include "core/layout/LayoutObject.h"
 #include "core/loader/EmptyClients.h"
 #include "core/page/Page.h"
+#include "core/paint/PaintLayer.h"
 #include "core/testing/DummyPageHolder.h"
 #include "platform/RuntimeEnabledFeatures.h"
 #include "platform/geometry/IntSize.h"
@@ -139,6 +140,30 @@
   EXPECT_TRUE(document().view()->isVisuallyNonEmpty());
 }
 
+// This test addresses http://crbug.com/696173, in which a call to
+// FrameView::updateLayersAndCompositingAfterScrollIfNeeded during layout caused
+// a crash as the code was incorrectly assuming that the ancestor overflow layer
+// would always be valid.
+TEST_P(FrameViewTest, ViewportConstrainedObjectsHandledCorrectlyDuringLayout) {
+  document().body()->setInnerHTML(
+      "<style>.container { height: 200%; }"
+      "#sticky { position: sticky; top: 0; height: 50px; }</style>"
+      "<div class='container'><div id='sticky'></div></div>");
+  document().view()->updateAllLifecyclePhases();
+
+  LayoutBoxModelObject* sticky = toLayoutBoxModelObject(
+      document().getElementById("sticky")->layoutObject());
+
+  // Deliberately invalidate the ancestor overflow layer. This approximates
+  // http://crbug.com/696173, in which the ancestor overflow layer can be null
+  // during layout.
+  sticky->layer()->updateAncestorOverflowLayer(nullptr);
+
+  // This call should not crash.
+  document().view()->layoutViewportScrollableArea()->setScrollOffset(
+      ScrollOffset(0, 100), ProgrammaticScroll);
+}
+
 TEST_P(FrameViewTest, StyleChangeUpdatesViewportConstrainedObjects) {
   // When using root layer scrolling there is no concept of viewport constrained
   // objects, so skip this test.
diff --git a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp
index d3b5c1c..63175a9 100644
--- a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp
+++ b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp
@@ -294,8 +294,8 @@
     WebURLRequest::RequestContext context,
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
-  if (reportingStatus == ContentSecurityPolicy::SendReport)
+    SecurityViolationReportingPolicy reportingPolicy) const {
+  if (reportingPolicy == SecurityViolationReportingPolicy::Report)
     return checkRequestWithoutIntegrityAndReportViolation(context, url,
                                                           redirectStatus);
   return denyIfEnforcingPolicy() || checkRequestWithoutIntegrity(context);
@@ -505,9 +505,9 @@
     Element* element,
     const String& contextURL,
     const WTF::OrdinalNumber& contextLine,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   SourceListDirective* directive = operativeDirective(m_scriptSrc.get());
-  if (reportingStatus == ContentSecurityPolicy::SendReport) {
+  if (reportingPolicy == SecurityViolationReportingPolicy::Report) {
     return checkInlineAndReportViolation(
         directive,
         "Refused to execute JavaScript URL because it violates the following "
@@ -522,9 +522,9 @@
     Element* element,
     const String& contextURL,
     const WTF::OrdinalNumber& contextLine,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   SourceListDirective* directive = operativeDirective(m_scriptSrc.get());
-  if (reportingStatus == ContentSecurityPolicy::SendReport) {
+  if (reportingPolicy == SecurityViolationReportingPolicy::Report) {
     return checkInlineAndReportViolation(
         operativeDirective(m_scriptSrc.get()),
         "Refused to execute inline event handler because it violates the "
@@ -540,7 +540,7 @@
     const String& contextURL,
     const String& nonce,
     const WTF::OrdinalNumber& contextLine,
-    ContentSecurityPolicy::ReportingStatus reportingStatus,
+    SecurityViolationReportingPolicy reportingPolicy,
     const String& content) const {
   SourceListDirective* directive = operativeDirective(m_scriptSrc.get());
   if (isMatchingNoncePresent(directive, nonce))
@@ -550,7 +550,7 @@
       allowDynamic()) {
     return true;
   }
-  if (reportingStatus == ContentSecurityPolicy::SendReport) {
+  if (reportingPolicy == SecurityViolationReportingPolicy::Report) {
     return checkInlineAndReportViolation(
         directive,
         "Refused to execute inline script because it violates the following "
@@ -566,12 +566,12 @@
     const String& contextURL,
     const String& nonce,
     const WTF::OrdinalNumber& contextLine,
-    ContentSecurityPolicy::ReportingStatus reportingStatus,
+    SecurityViolationReportingPolicy reportingPolicy,
     const String& content) const {
   SourceListDirective* directive = operativeDirective(m_styleSrc.get());
   if (isMatchingNoncePresent(directive, nonce))
     return true;
-  if (reportingStatus == ContentSecurityPolicy::SendReport) {
+  if (reportingPolicy == SecurityViolationReportingPolicy::Report) {
     return checkInlineAndReportViolation(
         directive,
         "Refused to apply inline style because it violates the following "
@@ -584,9 +584,9 @@
 
 bool CSPDirectiveList::allowEval(
     ScriptState* scriptState,
-    ContentSecurityPolicy::ReportingStatus reportingStatus,
+    SecurityViolationReportingPolicy reportingPolicy,
     ContentSecurityPolicy::ExceptionStatus exceptionStatus) const {
-  if (reportingStatus == ContentSecurityPolicy::SendReport) {
+  if (reportingPolicy == SecurityViolationReportingPolicy::Report) {
     return checkEvalAndReportViolation(
         operativeDirective(m_scriptSrc.get()),
         "Refused to evaluate a string as JavaScript because 'unsafe-eval' is "
@@ -601,8 +601,8 @@
     const String& type,
     const String& typeAttribute,
     const KURL& url,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
-  return reportingStatus == ContentSecurityPolicy::SendReport
+    SecurityViolationReportingPolicy reportingPolicy) const {
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkMediaTypeAndReportViolation(
                    m_pluginTypes.get(), type, typeAttribute,
                    "Refused to load '" + url.elidedString() + "' (MIME type '" +
@@ -617,12 +617,12 @@
     const String& nonce,
     ParserDisposition parserDisposition,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   if (isMatchingNoncePresent(operativeDirective(m_scriptSrc.get()), nonce))
     return true;
   if (parserDisposition == NotParserInserted && allowDynamic())
     return true;
-  return reportingStatus == ContentSecurityPolicy::SendReport
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    operativeDirective(m_scriptSrc.get()), url,
                    ContentSecurityPolicy::DirectiveType::ScriptSrc,
@@ -634,10 +634,10 @@
 bool CSPDirectiveList::allowObjectFromSource(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   if (url.protocolIsAbout())
     return true;
-  return reportingStatus == ContentSecurityPolicy::SendReport
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    operativeDirective(m_objectSrc.get()), url,
                    ContentSecurityPolicy::DirectiveType::ObjectSrc,
@@ -649,7 +649,7 @@
 bool CSPDirectiveList::allowFrameFromSource(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   if (url.protocolIsAbout())
     return true;
 
@@ -660,7 +660,7 @@
   SourceListDirective* whichDirective = operativeDirective(
       m_frameSrc.get(), operativeDirective(m_childSrc.get()));
 
-  return reportingStatus == ContentSecurityPolicy::SendReport
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    whichDirective, url,
                    ContentSecurityPolicy::DirectiveType::FrameSrc,
@@ -671,8 +671,8 @@
 bool CSPDirectiveList::allowImageFromSource(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
-  return reportingStatus == ContentSecurityPolicy::SendReport
+    SecurityViolationReportingPolicy reportingPolicy) const {
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    operativeDirective(m_imgSrc.get()), url,
                    ContentSecurityPolicy::DirectiveType::ImgSrc, redirectStatus)
@@ -684,10 +684,10 @@
     const KURL& url,
     const String& nonce,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   if (isMatchingNoncePresent(operativeDirective(m_styleSrc.get()), nonce))
     return true;
-  return reportingStatus == ContentSecurityPolicy::SendReport
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    operativeDirective(m_styleSrc.get()), url,
                    ContentSecurityPolicy::DirectiveType::StyleSrc,
@@ -699,8 +699,8 @@
 bool CSPDirectiveList::allowFontFromSource(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
-  return reportingStatus == ContentSecurityPolicy::SendReport
+    SecurityViolationReportingPolicy reportingPolicy) const {
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    operativeDirective(m_fontSrc.get()), url,
                    ContentSecurityPolicy::DirectiveType::FontSrc,
@@ -712,8 +712,8 @@
 bool CSPDirectiveList::allowMediaFromSource(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
-  return reportingStatus == ContentSecurityPolicy::SendReport
+    SecurityViolationReportingPolicy reportingPolicy) const {
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    operativeDirective(m_mediaSrc.get()), url,
                    ContentSecurityPolicy::DirectiveType::MediaSrc,
@@ -725,8 +725,8 @@
 bool CSPDirectiveList::allowManifestFromSource(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
-  return reportingStatus == ContentSecurityPolicy::SendReport
+    SecurityViolationReportingPolicy reportingPolicy) const {
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    operativeDirective(m_manifestSrc.get()), url,
                    ContentSecurityPolicy::DirectiveType::ManifestSrc,
@@ -738,8 +738,8 @@
 bool CSPDirectiveList::allowConnectToSource(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
-  return reportingStatus == ContentSecurityPolicy::SendReport
+    SecurityViolationReportingPolicy reportingPolicy) const {
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    operativeDirective(m_connectSrc.get()), url,
                    ContentSecurityPolicy::DirectiveType::ConnectSrc,
@@ -751,8 +751,8 @@
 bool CSPDirectiveList::allowFormAction(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
-  return reportingStatus == ContentSecurityPolicy::SendReport
+    SecurityViolationReportingPolicy reportingPolicy) const {
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    m_formAction.get(), url,
                    ContentSecurityPolicy::DirectiveType::FormAction,
@@ -763,9 +763,9 @@
 bool CSPDirectiveList::allowBaseURI(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   bool result =
-      reportingStatus == ContentSecurityPolicy::SendReport
+      reportingPolicy == SecurityViolationReportingPolicy::Report
           ? checkSourceAndReportViolation(
                 m_baseURI.get(), url,
                 ContentSecurityPolicy::DirectiveType::BaseURI, redirectStatus)
@@ -783,7 +783,7 @@
 bool CSPDirectiveList::allowWorkerFromSource(
     const KURL& url,
     ResourceRequest::RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   // 'worker-src' overrides 'child-src', which overrides the default
   // sources. So, we do this nested set of calls to 'operativeDirective()' to
   // grab 'worker-src' if it exists, 'child-src' if it doesn't, and 'defaut-src'
@@ -791,7 +791,7 @@
   SourceListDirective* whichDirective = operativeDirective(
       m_workerSrc.get(), operativeDirective(m_childSrc.get()));
 
-  return reportingStatus == ContentSecurityPolicy::SendReport
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkSourceAndReportViolation(
                    whichDirective, url,
                    ContentSecurityPolicy::DirectiveType::WorkerSrc,
@@ -802,8 +802,8 @@
 bool CSPDirectiveList::allowAncestors(
     LocalFrame* frame,
     const KURL& url,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
-  return reportingStatus == ContentSecurityPolicy::SendReport
+    SecurityViolationReportingPolicy reportingPolicy) const {
+  return reportingPolicy == SecurityViolationReportingPolicy::Report
              ? checkAncestorsAndReportViolation(m_frameAncestors.get(), frame,
                                                 url)
              : checkAncestors(m_frameAncestors.get(), frame);
diff --git a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.h b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.h
index ecc64b9..44b9ccb 100644
--- a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.h
+++ b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.h
@@ -14,6 +14,7 @@
 #include "platform/network/HTTPParsers.h"
 #include "platform/network/ResourceRequest.h"
 #include "platform/weborigin/KURL.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "public/platform/WebContentSecurityPolicy.h"
 #include "wtf/Vector.h"
 #include "wtf/text/AtomicString.h"
@@ -47,72 +48,72 @@
   bool allowJavaScriptURLs(Element*,
                            const String& contextURL,
                            const WTF::OrdinalNumber& contextLine,
-                           ContentSecurityPolicy::ReportingStatus) const;
+                           SecurityViolationReportingPolicy) const;
   bool allowInlineEventHandlers(Element*,
                                 const String& contextURL,
                                 const WTF::OrdinalNumber& contextLine,
-                                ContentSecurityPolicy::ReportingStatus) const;
+                                SecurityViolationReportingPolicy) const;
   bool allowInlineScript(Element*,
                          const String& contextURL,
                          const String& nonce,
                          const WTF::OrdinalNumber& contextLine,
-                         ContentSecurityPolicy::ReportingStatus,
+                         SecurityViolationReportingPolicy,
                          const String& scriptContent) const;
   bool allowInlineStyle(Element*,
                         const String& contextURL,
                         const String& nonce,
                         const WTF::OrdinalNumber& contextLine,
-                        ContentSecurityPolicy::ReportingStatus,
+                        SecurityViolationReportingPolicy,
                         const String& styleContent) const;
   bool allowEval(ScriptState*,
-                 ContentSecurityPolicy::ReportingStatus,
+                 SecurityViolationReportingPolicy,
                  ContentSecurityPolicy::ExceptionStatus =
                      ContentSecurityPolicy::WillNotThrowException) const;
   bool allowPluginType(const String& type,
                        const String& typeAttribute,
                        const KURL&,
-                       ContentSecurityPolicy::ReportingStatus) const;
+                       SecurityViolationReportingPolicy) const;
 
   bool allowScriptFromSource(const KURL&,
                              const String& nonce,
                              ParserDisposition,
                              ResourceRequest::RedirectStatus,
-                             ContentSecurityPolicy::ReportingStatus) const;
+                             SecurityViolationReportingPolicy) const;
   bool allowStyleFromSource(const KURL&,
                             const String& nonce,
                             ResourceRequest::RedirectStatus,
-                            ContentSecurityPolicy::ReportingStatus) const;
+                            SecurityViolationReportingPolicy) const;
 
   bool allowObjectFromSource(const KURL&,
                              ResourceRequest::RedirectStatus,
-                             ContentSecurityPolicy::ReportingStatus) const;
+                             SecurityViolationReportingPolicy) const;
   bool allowFrameFromSource(const KURL&,
                             ResourceRequest::RedirectStatus,
-                            ContentSecurityPolicy::ReportingStatus) const;
+                            SecurityViolationReportingPolicy) const;
   bool allowImageFromSource(const KURL&,
                             ResourceRequest::RedirectStatus,
-                            ContentSecurityPolicy::ReportingStatus) const;
+                            SecurityViolationReportingPolicy) const;
   bool allowFontFromSource(const KURL&,
                            ResourceRequest::RedirectStatus,
-                           ContentSecurityPolicy::ReportingStatus) const;
+                           SecurityViolationReportingPolicy) const;
   bool allowMediaFromSource(const KURL&,
                             ResourceRequest::RedirectStatus,
-                            ContentSecurityPolicy::ReportingStatus) const;
+                            SecurityViolationReportingPolicy) const;
   bool allowManifestFromSource(const KURL&,
                                ResourceRequest::RedirectStatus,
-                               ContentSecurityPolicy::ReportingStatus) const;
+                               SecurityViolationReportingPolicy) const;
   bool allowConnectToSource(const KURL&,
                             ResourceRequest::RedirectStatus,
-                            ContentSecurityPolicy::ReportingStatus) const;
+                            SecurityViolationReportingPolicy) const;
   bool allowFormAction(const KURL&,
                        ResourceRequest::RedirectStatus,
-                       ContentSecurityPolicy::ReportingStatus) const;
+                       SecurityViolationReportingPolicy) const;
   bool allowBaseURI(const KURL&,
                     ResourceRequest::RedirectStatus,
-                    ContentSecurityPolicy::ReportingStatus) const;
+                    SecurityViolationReportingPolicy) const;
   bool allowWorkerFromSource(const KURL&,
                              ResourceRequest::RedirectStatus,
-                             ContentSecurityPolicy::ReportingStatus) const;
+                             SecurityViolationReportingPolicy) const;
   // |allowAncestors| does not need to know whether the resource was a
   // result of a redirect. After a redirect, source paths are usually
   // ignored to stop a page from learning the path to which the
@@ -121,18 +122,17 @@
   // parent.
   bool allowAncestors(LocalFrame*,
                       const KURL&,
-                      ContentSecurityPolicy::ReportingStatus) const;
+                      SecurityViolationReportingPolicy) const;
   bool allowScriptHash(const CSPHashValue&,
                        ContentSecurityPolicy::InlineType) const;
   bool allowStyleHash(const CSPHashValue&,
                       ContentSecurityPolicy::InlineType) const;
   bool allowDynamic() const;
 
-  bool allowRequestWithoutIntegrity(
-      WebURLRequest::RequestContext,
-      const KURL&,
-      ResourceRequest::RedirectStatus,
-      ContentSecurityPolicy::ReportingStatus) const;
+  bool allowRequestWithoutIntegrity(WebURLRequest::RequestContext,
+                                    const KURL&,
+                                    ResourceRequest::RedirectStatus,
+                                    SecurityViolationReportingPolicy) const;
 
   bool strictMixedContentChecking() const {
     return m_strictMixedContentCheckingEnforced;
diff --git a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveListTest.cpp b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveListTest.cpp
index b5eef4f..9fd7b071 100644
--- a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveListTest.cpp
+++ b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveListTest.cpp
@@ -163,18 +163,20 @@
     // Report-only
     Member<CSPDirectiveList> directiveList =
         createList(test.list, ContentSecurityPolicyHeaderTypeReport);
-    EXPECT_EQ(test.expected, directiveList->allowScriptFromSource(
-                                 scriptSrc, String(), ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+    EXPECT_EQ(test.expected,
+              directiveList->allowScriptFromSource(
+                  scriptSrc, String(), ParserInserted,
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
 
     // Enforce
     directiveList =
         createList(test.list, ContentSecurityPolicyHeaderTypeEnforce);
-    EXPECT_EQ(test.expected, directiveList->allowScriptFromSource(
-                                 scriptSrc, String(), ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+    EXPECT_EQ(test.expected,
+              directiveList->allowScriptFromSource(
+                  scriptSrc, String(), ParserInserted,
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
   }
 }
 
@@ -218,58 +220,66 @@
     Member<CSPDirectiveList> directiveList =
         createList(String("script-src ") + test.list,
                    ContentSecurityPolicyHeaderTypeReport);
-    EXPECT_EQ(test.expected, directiveList->allowScriptFromSource(
-                                 resource, String(test.nonce), ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+    EXPECT_EQ(test.expected,
+              directiveList->allowScriptFromSource(
+                  resource, String(test.nonce), ParserInserted,
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
 
     // Enforce 'script-src'
     directiveList = createList(String("script-src ") + test.list,
                                ContentSecurityPolicyHeaderTypeEnforce);
-    EXPECT_EQ(test.expected, directiveList->allowScriptFromSource(
-                                 resource, String(test.nonce), ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+    EXPECT_EQ(test.expected,
+              directiveList->allowScriptFromSource(
+                  resource, String(test.nonce), ParserInserted,
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
 
     // Report-only 'style-src'
     directiveList = createList(String("style-src ") + test.list,
                                ContentSecurityPolicyHeaderTypeReport);
-    EXPECT_EQ(test.expected, directiveList->allowStyleFromSource(
-                                 resource, String(test.nonce),
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+    EXPECT_EQ(test.expected,
+              directiveList->allowStyleFromSource(
+                  resource, String(test.nonce),
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
 
     // Enforce 'style-src'
     directiveList = createList(String("style-src ") + test.list,
                                ContentSecurityPolicyHeaderTypeEnforce);
-    EXPECT_EQ(test.expected, directiveList->allowStyleFromSource(
-                                 resource, String(test.nonce),
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+    EXPECT_EQ(test.expected,
+              directiveList->allowStyleFromSource(
+                  resource, String(test.nonce),
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
 
     // Report-only 'style-src'
     directiveList = createList(String("default-src ") + test.list,
                                ContentSecurityPolicyHeaderTypeReport);
-    EXPECT_EQ(test.expected, directiveList->allowScriptFromSource(
-                                 resource, String(test.nonce), ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
-    EXPECT_EQ(test.expected, directiveList->allowStyleFromSource(
-                                 resource, String(test.nonce),
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+    EXPECT_EQ(test.expected,
+              directiveList->allowScriptFromSource(
+                  resource, String(test.nonce), ParserInserted,
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
+    EXPECT_EQ(test.expected,
+              directiveList->allowStyleFromSource(
+                  resource, String(test.nonce),
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
 
     // Enforce 'style-src'
     directiveList = createList(String("default-src ") + test.list,
                                ContentSecurityPolicyHeaderTypeEnforce);
-    EXPECT_EQ(test.expected, directiveList->allowScriptFromSource(
-                                 resource, String(test.nonce), ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
-    EXPECT_EQ(test.expected, directiveList->allowStyleFromSource(
-                                 resource, String(test.nonce),
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+    EXPECT_EQ(test.expected,
+              directiveList->allowScriptFromSource(
+                  resource, String(test.nonce), ParserInserted,
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
+    EXPECT_EQ(test.expected,
+              directiveList->allowStyleFromSource(
+                  resource, String(test.nonce),
+                  ResourceRequest::RedirectStatus::NoRedirect,
+                  SecurityViolationReportingPolicy::SuppressReporting));
   }
 }
 
@@ -384,15 +394,16 @@
     EXPECT_EQ(true, directiveList->allowRequestWithoutIntegrity(
                         test.context, resource,
                         ResourceRequest::RedirectStatus::NoRedirect,
-                        ContentSecurityPolicy::SuppressReport));
+                        SecurityViolationReportingPolicy::SuppressReporting));
 
     // Enforce
     directiveList =
         createList(test.list, ContentSecurityPolicyHeaderTypeEnforce);
-    EXPECT_EQ(test.expected, directiveList->allowRequestWithoutIntegrity(
-                                 test.context, resource,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+    EXPECT_EQ(
+        test.expected,
+        directiveList->allowRequestWithoutIntegrity(
+            test.context, resource, ResourceRequest::RedirectStatus::NoRedirect,
+            SecurityViolationReportingPolicy::SuppressReporting));
   }
 }
 
@@ -436,7 +447,7 @@
     EXPECT_EQ(test.allowed,
               directiveList->allowWorkerFromSource(
                   resource, ResourceRequest::RedirectStatus::NoRedirect,
-                  ContentSecurityPolicy::SuppressReport));
+                  SecurityViolationReportingPolicy::SuppressReporting));
   }
 }
 
diff --git a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.cpp b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.cpp
index c343ea4a1..de5c83a9 100644
--- a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.cpp
+++ b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.cpp
@@ -305,7 +305,8 @@
     Member<CSPDirectiveList> policy =
         CSPDirectiveList::create(this, begin, position, type, source);
 
-    if (!policy->allowEval(0, SuppressReport) &&
+    if (!policy->allowEval(
+            0, SecurityViolationReportingPolicy::SuppressReporting) &&
         m_disableEvalErrorMessage.isNull())
       m_disableEvalErrorMessage = policy->evalDisabledErrorMessage();
 
@@ -384,90 +385,89 @@
   return headers;
 }
 
-template <bool (CSPDirectiveList::*allowed)(
-    ContentSecurityPolicy::ReportingStatus) const>
+template <bool (CSPDirectiveList::*allowed)(SecurityViolationReportingPolicy)
+              const>
 bool isAllowedByAll(const CSPDirectiveListVector& policies,
-                    ContentSecurityPolicy::ReportingStatus reportingStatus) {
+                    SecurityViolationReportingPolicy reportingPolicy) {
   bool isAllowed = true;
   for (const auto& policy : policies)
-    isAllowed &= (policy.get()->*allowed)(reportingStatus);
+    isAllowed &= (policy.get()->*allowed)(reportingPolicy);
   return isAllowed;
 }
 
 template <bool (CSPDirectiveList::*allowed)(
     ScriptState* scriptState,
-    ContentSecurityPolicy::ReportingStatus,
+    SecurityViolationReportingPolicy,
     ContentSecurityPolicy::ExceptionStatus) const>
 bool isAllowedByAll(const CSPDirectiveListVector& policies,
                     ScriptState* scriptState,
-                    ContentSecurityPolicy::ReportingStatus reportingStatus,
+                    SecurityViolationReportingPolicy reportingPolicy,
                     ContentSecurityPolicy::ExceptionStatus exceptionStatus) {
   bool isAllowed = true;
-  for (const auto& policy : policies)
-    isAllowed &=
-        (policy.get()->*allowed)(scriptState, reportingStatus, exceptionStatus);
-  return isAllowed;
-}
-
-template <bool (CSPDirectiveList::*allowed)(
-    Element*,
-    const String&,
-    const WTF::OrdinalNumber&,
-    ContentSecurityPolicy::ReportingStatus) const>
-bool isAllowedByAll(const CSPDirectiveListVector& policies,
-                    Element* element,
-                    const String& contextURL,
-                    const WTF::OrdinalNumber& contextLine,
-                    ContentSecurityPolicy::ReportingStatus reportingStatus) {
-  bool isAllowed = true;
   for (const auto& policy : policies) {
-    isAllowed &= (policy.get()->*allowed)(element, contextURL, contextLine,
-                                          reportingStatus);
+    isAllowed &=
+        (policy.get()->*allowed)(scriptState, reportingPolicy, exceptionStatus);
   }
   return isAllowed;
 }
 
-template <
-    bool (CSPDirectiveList::*allowed)(Element*,
-                                      const String&,
-                                      const String&,
-                                      const WTF::OrdinalNumber&,
-                                      ContentSecurityPolicy::ReportingStatus,
-                                      const String& content) const>
+template <bool (CSPDirectiveList::*allowed)(Element*,
+                                            const String&,
+                                            const WTF::OrdinalNumber&,
+                                            SecurityViolationReportingPolicy)
+              const>
+bool isAllowedByAll(const CSPDirectiveListVector& policies,
+                    Element* element,
+                    const String& contextURL,
+                    const WTF::OrdinalNumber& contextLine,
+                    SecurityViolationReportingPolicy reportingPolicy) {
+  bool isAllowed = true;
+  for (const auto& policy : policies) {
+    isAllowed &= (policy.get()->*allowed)(element, contextURL, contextLine,
+                                          reportingPolicy);
+  }
+  return isAllowed;
+}
+
+template <bool (CSPDirectiveList::*allowed)(Element*,
+                                            const String&,
+                                            const String&,
+                                            const WTF::OrdinalNumber&,
+                                            SecurityViolationReportingPolicy,
+                                            const String& content) const>
 bool isAllowedByAll(const CSPDirectiveListVector& policies,
                     Element* element,
                     const String& contextURL,
                     const String& nonce,
                     const WTF::OrdinalNumber& contextLine,
-                    ContentSecurityPolicy::ReportingStatus reportingStatus,
+                    SecurityViolationReportingPolicy reportingPolicy,
                     const String& content) {
   bool isAllowed = true;
   for (const auto& policy : policies) {
     isAllowed &= (policy.get()->*allowed)(
-        element, contextURL, nonce, contextLine, reportingStatus, content);
+        element, contextURL, nonce, contextLine, reportingPolicy, content);
   }
   return isAllowed;
 }
 
-template <
-    bool (CSPDirectiveList::*allowed)(const String&,
-                                      const String&,
-                                      ParserDisposition,
-                                      const WTF::OrdinalNumber&,
-                                      ContentSecurityPolicy::ReportingStatus,
-                                      const String& content) const>
+template <bool (CSPDirectiveList::*allowed)(const String&,
+                                            const String&,
+                                            ParserDisposition,
+                                            const WTF::OrdinalNumber&,
+                                            SecurityViolationReportingPolicy,
+                                            const String& content) const>
 bool isAllowedByAll(const CSPDirectiveListVector& policies,
                     const String& contextURL,
                     const String& nonce,
                     ParserDisposition parserDisposition,
                     const WTF::OrdinalNumber& contextLine,
-                    ContentSecurityPolicy::ReportingStatus reportingStatus,
+                    SecurityViolationReportingPolicy reportingPolicy,
                     const String& content) {
   bool isAllowed = true;
   for (const auto& policy : policies) {
     isAllowed &=
         (policy.get()->*allowed)(contextURL, nonce, parserDisposition,
-                                 contextLine, reportingStatus, content);
+                                 contextLine, reportingPolicy, content);
   }
   return isAllowed;
 }
@@ -487,18 +487,19 @@
 template <bool (CSPDirectiveList::*allowFromURL)(
     const KURL&,
     RedirectStatus,
-    ContentSecurityPolicy::ReportingStatus) const>
+    SecurityViolationReportingPolicy) const>
 bool isAllowedByAll(const CSPDirectiveListVector& policies,
                     const KURL& url,
                     RedirectStatus redirectStatus,
-                    ContentSecurityPolicy::ReportingStatus reportingStatus) {
+                    SecurityViolationReportingPolicy reportingPolicy) {
   if (SchemeRegistry::schemeShouldBypassContentSecurityPolicy(url.protocol()))
     return true;
 
   bool isAllowed = true;
-  for (const auto& policy : policies)
+  for (const auto& policy : policies) {
     isAllowed &=
-        (policy.get()->*allowFromURL)(url, redirectStatus, reportingStatus);
+        (policy.get()->*allowFromURL)(url, redirectStatus, reportingPolicy);
+  }
   return isAllowed;
 }
 
@@ -506,19 +507,20 @@
     const KURL&,
     const String& nonce,
     RedirectStatus,
-    ContentSecurityPolicy::ReportingStatus) const>
+    SecurityViolationReportingPolicy) const>
 bool isAllowedByAll(const CSPDirectiveListVector& policies,
                     const KURL& url,
                     const String& nonce,
                     RedirectStatus redirectStatus,
-                    ContentSecurityPolicy::ReportingStatus reportingStatus) {
+                    SecurityViolationReportingPolicy reportingPolicy) {
   if (SchemeRegistry::schemeShouldBypassContentSecurityPolicy(url.protocol()))
     return true;
 
   bool isAllowed = true;
-  for (const auto& policy : policies)
+  for (const auto& policy : policies) {
     isAllowed &= (policy.get()->*allowFromURLWithNonce)(
-        url, nonce, redirectStatus, reportingStatus);
+        url, nonce, redirectStatus, reportingPolicy);
+  }
   return isAllowed;
 }
 
@@ -527,13 +529,13 @@
     const String& nonce,
     ParserDisposition parserDisposition,
     RedirectStatus,
-    ContentSecurityPolicy::ReportingStatus) const>
+    SecurityViolationReportingPolicy) const>
 bool isAllowedByAll(const CSPDirectiveListVector& policies,
                     const KURL& url,
                     const String& nonce,
                     ParserDisposition parserDisposition,
                     RedirectStatus redirectStatus,
-                    ContentSecurityPolicy::ReportingStatus reportingStatus) {
+                    SecurityViolationReportingPolicy reportingPolicy) {
   if (SchemeRegistry::schemeShouldBypassContentSecurityPolicy(url.protocol())) {
     // If we're running experimental features, bypass CSP only for
     // non-parser-inserted resources whose scheme otherwise bypasses CSP. If
@@ -551,22 +553,22 @@
   bool isAllowed = true;
   for (const auto& policy : policies) {
     isAllowed &= (policy.get()->*allowFromURLWithNonceAndParser)(
-        url, nonce, parserDisposition, redirectStatus, reportingStatus);
+        url, nonce, parserDisposition, redirectStatus, reportingPolicy);
   }
   return isAllowed;
 }
 
-template <bool (CSPDirectiveList::*allowed)(
-    LocalFrame*,
-    const KURL&,
-    ContentSecurityPolicy::ReportingStatus) const>
+template <bool (CSPDirectiveList::*allowed)(LocalFrame*,
+                                            const KURL&,
+                                            SecurityViolationReportingPolicy)
+              const>
 bool isAllowedByAll(const CSPDirectiveListVector& policies,
                     LocalFrame* frame,
                     const KURL& url,
-                    ContentSecurityPolicy::ReportingStatus reportingStatus) {
+                    SecurityViolationReportingPolicy reportingPolicy) {
   bool isAllowed = true;
   for (const auto& policy : policies)
-    isAllowed &= (policy.get()->*allowed)(frame, url, reportingStatus);
+    isAllowed &= (policy.get()->*allowed)(frame, url, reportingPolicy);
   return isAllowed;
 }
 
@@ -617,9 +619,9 @@
     Element* element,
     const String& contextURL,
     const WTF::OrdinalNumber& contextLine,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowJavaScriptURLs>(
-      m_policies, element, contextURL, contextLine, reportingStatus);
+      m_policies, element, contextURL, contextLine, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowInlineEventHandler(
@@ -627,7 +629,7 @@
     const String& source,
     const String& contextURL,
     const WTF::OrdinalNumber& contextLine,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   // Inline event handlers may be whitelisted by hash, if
   // 'unsafe-hash-attributes' is present in a policy. Check against the digest
   // of the |source| first before proceeding on to checking whether inline
@@ -637,7 +639,7 @@
           m_policies))
     return true;
   return isAllowedByAll<&CSPDirectiveList::allowInlineEventHandlers>(
-      m_policies, element, contextURL, contextLine, reportingStatus);
+      m_policies, element, contextURL, contextLine, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowInlineScript(
@@ -646,10 +648,10 @@
     const String& nonce,
     const WTF::OrdinalNumber& contextLine,
     const String& scriptContent,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   DCHECK(element);
   return isAllowedByAll<&CSPDirectiveList::allowInlineScript>(
-      m_policies, element, contextURL, nonce, contextLine, reportingStatus,
+      m_policies, element, contextURL, nonce, contextLine, reportingPolicy,
       scriptContent);
 }
 
@@ -659,26 +661,27 @@
     const String& nonce,
     const WTF::OrdinalNumber& contextLine,
     const String& styleContent,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   DCHECK(element);
   if (m_overrideInlineStyleAllowed)
     return true;
   return isAllowedByAll<&CSPDirectiveList::allowInlineStyle>(
-      m_policies, element, contextURL, nonce, contextLine, reportingStatus,
+      m_policies, element, contextURL, nonce, contextLine, reportingPolicy,
       styleContent);
 }
 
 bool ContentSecurityPolicy::allowEval(
     ScriptState* scriptState,
-    ContentSecurityPolicy::ReportingStatus reportingStatus,
+    SecurityViolationReportingPolicy reportingPolicy,
     ContentSecurityPolicy::ExceptionStatus exceptionStatus) const {
   return isAllowedByAll<&CSPDirectiveList::allowEval>(
-      m_policies, scriptState, reportingStatus, exceptionStatus);
+      m_policies, scriptState, reportingPolicy, exceptionStatus);
 }
 
 String ContentSecurityPolicy::evalDisabledErrorMessage() const {
   for (const auto& policy : m_policies) {
-    if (!policy->allowEval(0, SuppressReport))
+    if (!policy->allowEval(0,
+                           SecurityViolationReportingPolicy::SuppressReporting))
       return policy->evalDisabledErrorMessage();
   }
   return String();
@@ -688,9 +691,9 @@
     const String& type,
     const String& typeAttribute,
     const KURL& url,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   for (const auto& policy : m_policies) {
-    if (!policy->allowPluginType(type, typeAttribute, url, reportingStatus))
+    if (!policy->allowPluginType(type, typeAttribute, url, reportingPolicy))
       return false;
   }
   return true;
@@ -701,7 +704,7 @@
     const String& type,
     const String& typeAttribute,
     const KURL& url,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   if (document.contentSecurityPolicy() &&
       !document.contentSecurityPolicy()->allowPluginType(type, typeAttribute,
                                                          url))
@@ -728,7 +731,7 @@
     const String& nonce,
     ParserDisposition parserDisposition,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   if (SchemeRegistry::schemeShouldBypassContentSecurityPolicy(url.protocol())) {
     UseCounter::count(
         document(),
@@ -738,7 +741,7 @@
   }
   return isAllowedByAll<&CSPDirectiveList::allowScriptFromSource>(
       m_policies, url, nonce, parserDisposition, redirectStatus,
-      reportingStatus);
+      reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowScriptWithHash(const String& source,
@@ -757,10 +760,10 @@
     WebURLRequest::RequestContext context,
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   for (const auto& policy : m_policies) {
     if (!policy->allowRequestWithoutIntegrity(context, url, redirectStatus,
-                                              reportingStatus))
+                                              reportingPolicy))
       return false;
   }
   return true;
@@ -773,52 +776,52 @@
     const IntegrityMetadataSet& integrityMetadata,
     ParserDisposition parserDisposition,
     RedirectStatus redirectStatus,
-    ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   if (integrityMetadata.isEmpty() &&
       !allowRequestWithoutIntegrity(context, url, redirectStatus,
-                                    reportingStatus))
+                                    reportingPolicy))
     return false;
 
   switch (context) {
     case WebURLRequest::RequestContextAudio:
     case WebURLRequest::RequestContextTrack:
     case WebURLRequest::RequestContextVideo:
-      return allowMediaFromSource(url, redirectStatus, reportingStatus);
+      return allowMediaFromSource(url, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextBeacon:
     case WebURLRequest::RequestContextEventSource:
     case WebURLRequest::RequestContextFetch:
     case WebURLRequest::RequestContextXMLHttpRequest:
     case WebURLRequest::RequestContextSubresource:
-      return allowConnectToSource(url, redirectStatus, reportingStatus);
+      return allowConnectToSource(url, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextEmbed:
     case WebURLRequest::RequestContextObject:
-      return allowObjectFromSource(url, redirectStatus, reportingStatus);
+      return allowObjectFromSource(url, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextFavicon:
     case WebURLRequest::RequestContextImage:
     case WebURLRequest::RequestContextImageSet:
-      return allowImageFromSource(url, redirectStatus, reportingStatus);
+      return allowImageFromSource(url, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextFont:
-      return allowFontFromSource(url, redirectStatus, reportingStatus);
+      return allowFontFromSource(url, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextForm:
-      return allowFormAction(url, redirectStatus, reportingStatus);
+      return allowFormAction(url, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextFrame:
     case WebURLRequest::RequestContextIframe:
-      return allowFrameFromSource(url, redirectStatus, reportingStatus);
+      return allowFrameFromSource(url, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextImport:
     case WebURLRequest::RequestContextScript:
       return allowScriptFromSource(url, nonce, parserDisposition,
-                                   redirectStatus, reportingStatus);
+                                   redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextXSLT:
       return allowScriptFromSource(url, nonce, parserDisposition,
-                                   redirectStatus, reportingStatus);
+                                   redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextManifest:
-      return allowManifestFromSource(url, redirectStatus, reportingStatus);
+      return allowManifestFromSource(url, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextServiceWorker:
     case WebURLRequest::RequestContextSharedWorker:
     case WebURLRequest::RequestContextWorker:
-      return allowWorkerContextFromSource(url, redirectStatus, reportingStatus);
+      return allowWorkerContextFromSource(url, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextStyle:
-      return allowStyleFromSource(url, nonce, redirectStatus, reportingStatus);
+      return allowStyleFromSource(url, nonce, redirectStatus, reportingPolicy);
     case WebURLRequest::RequestContextCSPReport:
     case WebURLRequest::RequestContextDownload:
     case WebURLRequest::RequestContextHyperlink:
@@ -845,118 +848,119 @@
 bool ContentSecurityPolicy::allowObjectFromSource(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowObjectFromSource>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowFrameFromSource(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowFrameFromSource>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowImageFromSource(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   if (SchemeRegistry::schemeShouldBypassContentSecurityPolicy(
           url.protocol(), SchemeRegistry::PolicyAreaImage))
     return true;
   return isAllowedByAll<&CSPDirectiveList::allowImageFromSource>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowStyleFromSource(
     const KURL& url,
     const String& nonce,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   if (SchemeRegistry::schemeShouldBypassContentSecurityPolicy(
           url.protocol(), SchemeRegistry::PolicyAreaStyle))
     return true;
   return isAllowedByAll<&CSPDirectiveList::allowStyleFromSource>(
-      m_policies, url, nonce, redirectStatus, reportingStatus);
+      m_policies, url, nonce, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowFontFromSource(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowFontFromSource>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowMediaFromSource(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowMediaFromSource>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowConnectToSource(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowConnectToSource>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowFormAction(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowFormAction>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowBaseURI(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowBaseURI>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowWorkerContextFromSource(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   // CSP 1.1 moves workers from 'script-src' to the new 'child-src'. Measure the
   // impact of this backwards-incompatible change.
   if (Document* document = this->document()) {
     UseCounter::count(*document, UseCounter::WorkerSubjectToCSP);
     if (isAllowedByAll<&CSPDirectiveList::allowWorkerFromSource>(
-            m_policies, url, redirectStatus, SuppressReport) &&
+            m_policies, url, redirectStatus,
+            SecurityViolationReportingPolicy::SuppressReporting) &&
         !isAllowedByAll<&CSPDirectiveList::allowScriptFromSource>(
             m_policies, url, AtomicString(), NotParserInserted, redirectStatus,
-            SuppressReport)) {
+            SecurityViolationReportingPolicy::SuppressReporting)) {
       UseCounter::count(*document,
                         UseCounter::WorkerAllowedByChildBlockedByScript);
     }
   }
 
   return isAllowedByAll<&CSPDirectiveList::allowWorkerFromSource>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowManifestFromSource(
     const KURL& url,
     RedirectStatus redirectStatus,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowManifestFromSource>(
-      m_policies, url, redirectStatus, reportingStatus);
+      m_policies, url, redirectStatus, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::allowAncestors(
     LocalFrame* frame,
     const KURL& url,
-    ContentSecurityPolicy::ReportingStatus reportingStatus) const {
+    SecurityViolationReportingPolicy reportingPolicy) const {
   return isAllowedByAll<&CSPDirectiveList::allowAncestors>(
-      m_policies, frame, url, reportingStatus);
+      m_policies, frame, url, reportingPolicy);
 }
 
 bool ContentSecurityPolicy::isFrameAncestorsEnforced() const {
diff --git a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h
index 9e85ccfc..07ef517 100644
--- a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h
+++ b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h
@@ -36,6 +36,7 @@
 #include "platform/network/ContentSecurityPolicyParsers.h"
 #include "platform/network/HTTPParsers.h"
 #include "platform/network/ResourceRequest.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "public/platform/WebInsecureRequestPolicy.h"
 #include "wtf/HashSet.h"
 #include "wtf/Vector.h"
@@ -73,8 +74,6 @@
 class CORE_EXPORT ContentSecurityPolicy
     : public GarbageCollectedFinalized<ContentSecurityPolicy> {
  public:
-  enum ReportingStatus { SendReport, SuppressReport };
-
   enum ExceptionStatus { WillThrowException, WillNotThrowException };
 
   // This covers the possible values of a violation's 'resource', as defined in
@@ -137,93 +136,118 @@
   bool allowJavaScriptURLs(Element*,
                            const String& contextURL,
                            const WTF::OrdinalNumber& contextLine,
-                           ReportingStatus = SendReport) const;
+                           SecurityViolationReportingPolicy =
+                               SecurityViolationReportingPolicy::Report) const;
 
   // |element| will be present almost all of the time, but because of
   // strangeness around targeting handlers for '<body>', '<svg>', and
   // '<frameset>', it will be 'nullptr' for handlers on those
   // elements.
-  bool allowInlineEventHandler(Element*,
-                               const String& source,
-                               const String& contextURL,
-                               const WTF::OrdinalNumber& contextLine,
-                               ReportingStatus = SendReport) const;
+  bool allowInlineEventHandler(
+      Element*,
+      const String& source,
+      const String& contextURL,
+      const WTF::OrdinalNumber& contextLine,
+      SecurityViolationReportingPolicy =
+          SecurityViolationReportingPolicy::Report) const;
   // When the reporting status is |SendReport|, the |ExceptionStatus|
   // should indicate whether the caller will throw a JavaScript
   // exception in the event of a violation. When the caller will throw
   // an exception, ContentSecurityPolicy does not log a violation
   // message to the console because it would be redundant.
   bool allowEval(ScriptState* = nullptr,
-                 ReportingStatus = SendReport,
+                 SecurityViolationReportingPolicy =
+                     SecurityViolationReportingPolicy::Report,
                  ExceptionStatus = WillNotThrowException) const;
   bool allowPluginType(const String& type,
                        const String& typeAttribute,
                        const KURL&,
-                       ReportingStatus = SendReport) const;
+                       SecurityViolationReportingPolicy =
+                           SecurityViolationReportingPolicy::Report) const;
   // Checks whether the plugin type should be allowed in the given
   // document; enforces the CSP rule that PluginDocuments inherit
   // plugin-types directives from the parent document.
-  bool allowPluginTypeForDocument(const Document&,
-                                  const String& type,
-                                  const String& typeAttribute,
-                                  const KURL&,
-                                  ReportingStatus = SendReport) const;
+  bool allowPluginTypeForDocument(
+      const Document&,
+      const String& type,
+      const String& typeAttribute,
+      const KURL&,
+      SecurityViolationReportingPolicy =
+          SecurityViolationReportingPolicy::Report) const;
 
-  bool allowObjectFromSource(const KURL&,
-                             RedirectStatus = RedirectStatus::NoRedirect,
-                             ReportingStatus = SendReport) const;
+  bool allowObjectFromSource(
+      const KURL&,
+      RedirectStatus = RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy =
+          SecurityViolationReportingPolicy::Report) const;
   bool allowFrameFromSource(const KURL&,
                             RedirectStatus = RedirectStatus::NoRedirect,
-                            ReportingStatus = SendReport) const;
+                            SecurityViolationReportingPolicy =
+                                SecurityViolationReportingPolicy::Report) const;
   bool allowImageFromSource(const KURL&,
                             RedirectStatus = RedirectStatus::NoRedirect,
-                            ReportingStatus = SendReport) const;
+                            SecurityViolationReportingPolicy =
+                                SecurityViolationReportingPolicy::Report) const;
   bool allowFontFromSource(const KURL&,
                            RedirectStatus = RedirectStatus::NoRedirect,
-                           ReportingStatus = SendReport) const;
+                           SecurityViolationReportingPolicy =
+                               SecurityViolationReportingPolicy::Report) const;
   bool allowMediaFromSource(const KURL&,
                             RedirectStatus = RedirectStatus::NoRedirect,
-                            ReportingStatus = SendReport) const;
+                            SecurityViolationReportingPolicy =
+                                SecurityViolationReportingPolicy::Report) const;
   bool allowConnectToSource(const KURL&,
                             RedirectStatus = RedirectStatus::NoRedirect,
-                            ReportingStatus = SendReport) const;
+                            SecurityViolationReportingPolicy =
+                                SecurityViolationReportingPolicy::Report) const;
   bool allowFormAction(const KURL&,
                        RedirectStatus = RedirectStatus::NoRedirect,
-                       ReportingStatus = SendReport) const;
+                       SecurityViolationReportingPolicy =
+                           SecurityViolationReportingPolicy::Report) const;
   bool allowBaseURI(const KURL&,
                     RedirectStatus = RedirectStatus::NoRedirect,
-                    ReportingStatus = SendReport) const;
-  bool allowWorkerContextFromSource(const KURL&,
-                                    RedirectStatus = RedirectStatus::NoRedirect,
-                                    ReportingStatus = SendReport) const;
+                    SecurityViolationReportingPolicy =
+                        SecurityViolationReportingPolicy::Report) const;
+  bool allowWorkerContextFromSource(
+      const KURL&,
+      RedirectStatus = RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy =
+          SecurityViolationReportingPolicy::Report) const;
 
-  bool allowManifestFromSource(const KURL&,
-                               RedirectStatus = RedirectStatus::NoRedirect,
-                               ReportingStatus = SendReport) const;
+  bool allowManifestFromSource(
+      const KURL&,
+      RedirectStatus = RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy =
+          SecurityViolationReportingPolicy::Report) const;
 
   // Passing 'String()' into the |nonce| arguments in the following methods
   // represents an unnonced resource load.
-  bool allowScriptFromSource(const KURL&,
-                             const String& nonce,
-                             ParserDisposition,
-                             RedirectStatus = RedirectStatus::NoRedirect,
-                             ReportingStatus = SendReport) const;
+  bool allowScriptFromSource(
+      const KURL&,
+      const String& nonce,
+      ParserDisposition,
+      RedirectStatus = RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy =
+          SecurityViolationReportingPolicy::Report) const;
   bool allowStyleFromSource(const KURL&,
                             const String& nonce,
                             RedirectStatus = RedirectStatus::NoRedirect,
-                            ReportingStatus = SendReport) const;
+                            SecurityViolationReportingPolicy =
+                                SecurityViolationReportingPolicy::Report) const;
   bool allowInlineScript(Element*,
                          const String& contextURL,
                          const String& nonce,
                          const WTF::OrdinalNumber& contextLine,
                          const String& scriptContent,
-                         ReportingStatus = SendReport) const;
+                         SecurityViolationReportingPolicy =
+                             SecurityViolationReportingPolicy::Report) const;
   bool allowInlineStyle(Element*,
                         const String& contextURL,
                         const String& nonce,
                         const WTF::OrdinalNumber& contextLine,
                         const String& styleContent,
-                        ReportingStatus = SendReport) const;
+                        SecurityViolationReportingPolicy =
+                            SecurityViolationReportingPolicy::Report) const;
 
   // |allowAncestors| does not need to know whether the resource was a
   // result of a redirect. After a redirect, source paths are usually
@@ -233,7 +257,8 @@
   // parent.
   bool allowAncestors(LocalFrame*,
                       const KURL&,
-                      ReportingStatus = SendReport) const;
+                      SecurityViolationReportingPolicy =
+                          SecurityViolationReportingPolicy::Report) const;
   bool isFrameAncestorsEnforced() const;
 
   // The hash allow functions are guaranteed to not have any side
@@ -248,10 +273,12 @@
   bool allowScriptWithHash(const String& source, InlineType) const;
   bool allowStyleWithHash(const String& source, InlineType) const;
 
-  bool allowRequestWithoutIntegrity(WebURLRequest::RequestContext,
-                                    const KURL&,
-                                    RedirectStatus = RedirectStatus::NoRedirect,
-                                    ReportingStatus = SendReport) const;
+  bool allowRequestWithoutIntegrity(
+      WebURLRequest::RequestContext,
+      const KURL&,
+      RedirectStatus = RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy =
+          SecurityViolationReportingPolicy::Report) const;
 
   bool allowRequest(WebURLRequest::RequestContext,
                     const KURL&,
@@ -259,7 +286,8 @@
                     const IntegrityMetadataSet&,
                     ParserDisposition,
                     RedirectStatus = RedirectStatus::NoRedirect,
-                    ReportingStatus = SendReport) const;
+                    SecurityViolationReportingPolicy =
+                        SecurityViolationReportingPolicy::Report) const;
 
   void usesScriptHashAlgorithms(uint8_t ContentSecurityPolicyHashAlgorithm);
   void usesStyleHashAlgorithms(uint8_t ContentSecurityPolicyHashAlgorithm);
diff --git a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp
index 993fcd4..220feb7 100644
--- a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp
+++ b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicyTest.cpp
@@ -128,22 +128,22 @@
 
   ContentSecurityPolicy* csp2 = ContentSecurityPolicy::create();
   csp2->copyStateFrom(csp.get());
-  EXPECT_FALSE(
-      csp2->allowScriptFromSource(exampleUrl, String(), ParserInserted,
-                                  ResourceRequest::RedirectStatus::NoRedirect,
-                                  ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(csp2->allowPluginType("application/x-type-1",
-                                    "application/x-type-1", exampleUrl,
-                                    ContentSecurityPolicy::SuppressReport));
+  EXPECT_FALSE(csp2->allowScriptFromSource(
+      exampleUrl, String(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(csp2->allowPluginType(
+      "application/x-type-1", "application/x-type-1", exampleUrl,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_TRUE(csp2->allowImageFromSource(
       exampleUrl, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_FALSE(csp2->allowImageFromSource(
       notExampleUrl, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(csp2->allowPluginType("application/x-type-2",
-                                     "application/x-type-2", exampleUrl,
-                                     ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(csp2->allowPluginType(
+      "application/x-type-2", "application/x-type-2", exampleUrl,
+      SecurityViolationReportingPolicy::SuppressReporting));
 }
 
 TEST_F(ContentSecurityPolicyTest, CopyPluginTypesFrom) {
@@ -159,22 +159,22 @@
 
   ContentSecurityPolicy* csp2 = ContentSecurityPolicy::create();
   csp2->copyPluginTypesFrom(csp.get());
-  EXPECT_TRUE(
-      csp2->allowScriptFromSource(exampleUrl, String(), ParserInserted,
-                                  ResourceRequest::RedirectStatus::NoRedirect,
-                                  ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(csp2->allowPluginType("application/x-type-1",
-                                    "application/x-type-1", exampleUrl,
-                                    ContentSecurityPolicy::SuppressReport));
+  EXPECT_TRUE(csp2->allowScriptFromSource(
+      exampleUrl, String(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(csp2->allowPluginType(
+      "application/x-type-1", "application/x-type-1", exampleUrl,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_TRUE(csp2->allowImageFromSource(
       exampleUrl, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_TRUE(csp2->allowImageFromSource(
       notExampleUrl, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(csp2->allowPluginType("application/x-type-2",
-                                     "application/x-type-2", exampleUrl,
-                                     ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(csp2->allowPluginType(
+      "application/x-type-2", "application/x-type-2", exampleUrl,
+      SecurityViolationReportingPolicy::SuppressReporting));
 }
 
 TEST_F(ContentSecurityPolicyTest, IsFrameAncestorsEnforced) {
@@ -247,20 +247,20 @@
   csp->didReceiveHeader("object-src 'none';",
                         ContentSecurityPolicyHeaderTypeEnforce,
                         ContentSecurityPolicyHeaderSourceMeta);
-  EXPECT_FALSE(csp->allowRequest(WebURLRequest::RequestContextObject, url,
-                                 String(), IntegrityMetadataSet(),
-                                 ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+  EXPECT_FALSE(
+      csp->allowRequest(WebURLRequest::RequestContextObject, url, String(),
+                        IntegrityMetadataSet(), ParserInserted,
+                        ResourceRequest::RedirectStatus::NoRedirect,
+                        SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_FALSE(csp->allowRequest(
       WebURLRequest::RequestContextEmbed, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(csp->allowRequest(WebURLRequest::RequestContextPlugin, url,
-                                String(), IntegrityMetadataSet(),
-                                ParserInserted,
-                                ResourceRequest::RedirectStatus::NoRedirect,
-                                ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(
+      csp->allowRequest(WebURLRequest::RequestContextPlugin, url, String(),
+                        IntegrityMetadataSet(), ParserInserted,
+                        ResourceRequest::RedirectStatus::NoRedirect,
+                        SecurityViolationReportingPolicy::SuppressReporting));
 }
 
 TEST_F(ContentSecurityPolicyTest, ConnectSrc) {
@@ -269,30 +269,30 @@
   csp->didReceiveHeader("connect-src 'none';",
                         ContentSecurityPolicyHeaderTypeEnforce,
                         ContentSecurityPolicyHeaderSourceMeta);
-  EXPECT_FALSE(csp->allowRequest(WebURLRequest::RequestContextSubresource, url,
-                                 String(), IntegrityMetadataSet(),
-                                 ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(csp->allowRequest(WebURLRequest::RequestContextXMLHttpRequest,
-                                 url, String(), IntegrityMetadataSet(),
-                                 ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(csp->allowRequest(WebURLRequest::RequestContextBeacon, url,
-                                 String(), IntegrityMetadataSet(),
-                                 ParserInserted,
-                                 ResourceRequest::RedirectStatus::NoRedirect,
-                                 ContentSecurityPolicy::SuppressReport));
+  EXPECT_FALSE(
+      csp->allowRequest(WebURLRequest::RequestContextSubresource, url, String(),
+                        IntegrityMetadataSet(), ParserInserted,
+                        ResourceRequest::RedirectStatus::NoRedirect,
+                        SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(
+      csp->allowRequest(WebURLRequest::RequestContextXMLHttpRequest, url,
+                        String(), IntegrityMetadataSet(), ParserInserted,
+                        ResourceRequest::RedirectStatus::NoRedirect,
+                        SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(
+      csp->allowRequest(WebURLRequest::RequestContextBeacon, url, String(),
+                        IntegrityMetadataSet(), ParserInserted,
+                        ResourceRequest::RedirectStatus::NoRedirect,
+                        SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_FALSE(csp->allowRequest(
       WebURLRequest::RequestContextFetch, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(csp->allowRequest(WebURLRequest::RequestContextPlugin, url,
-                                String(), IntegrityMetadataSet(),
-                                ParserInserted,
-                                ResourceRequest::RedirectStatus::NoRedirect,
-                                ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(
+      csp->allowRequest(WebURLRequest::RequestContextPlugin, url, String(),
+                        IntegrityMetadataSet(), ParserInserted,
+                        ResourceRequest::RedirectStatus::NoRedirect,
+                        SecurityViolationReportingPolicy::SuppressReporting));
 }
 // Tests that requests for scripts and styles are blocked
 // if `require-sri-for` delivered in HTTP header requires integrity be present
@@ -304,78 +304,78 @@
   policy->didReceiveHeader("require-sri-for script style",
                            ContentSecurityPolicyHeaderTypeEnforce,
                            ContentSecurityPolicyHeaderSourceHTTP);
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextScript, url,
-                                    String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextImport, url,
-                                    String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextScript, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextImport, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_FALSE(policy->allowRequest(
       WebURLRequest::RequestContextStyle, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextServiceWorker,
-                                    url, String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextSharedWorker,
-                                    url, String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextWorker, url,
-                                    String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextServiceWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextSharedWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_TRUE(policy->allowRequest(
       WebURLRequest::RequestContextImage, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
   // Report
   policy = ContentSecurityPolicy::create();
   policy->bindToExecutionContext(document.get());
   policy->didReceiveHeader("require-sri-for script style",
                            ContentSecurityPolicyHeaderTypeReport,
                            ContentSecurityPolicyHeaderSourceHTTP);
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextScript, url,
-                                   String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImport, url,
-                                   String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextScript, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImport, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_TRUE(policy->allowRequest(
       WebURLRequest::RequestContextStyle, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextServiceWorker,
-                                   url, String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextSharedWorker,
-                                   url, String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextWorker, url,
-                                   String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextServiceWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextSharedWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_TRUE(policy->allowRequest(
       WebURLRequest::RequestContextImage, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
 }
 
 // Tests that requests for scripts and styles are allowed
@@ -392,36 +392,36 @@
   policy->didReceiveHeader("require-sri-for script style",
                            ContentSecurityPolicyHeaderTypeEnforce,
                            ContentSecurityPolicyHeaderSourceHTTP);
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextScript, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImport, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextStyle, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextServiceWorker,
-                                   url, String(), integrityMetadata,
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextSharedWorker,
-                                   url, String(), integrityMetadata,
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextWorker, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImage, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextScript, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImport, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextStyle, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextServiceWorker, url, String(),
+      integrityMetadata, ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextSharedWorker, url, String(),
+      integrityMetadata, ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextWorker, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImage, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   // Content-Security-Policy-Report-Only is not supported in meta element,
   // so nothing should be blocked
   policy = ContentSecurityPolicy::create();
@@ -429,36 +429,36 @@
   policy->didReceiveHeader("require-sri-for script style",
                            ContentSecurityPolicyHeaderTypeReport,
                            ContentSecurityPolicyHeaderSourceHTTP);
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextScript, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImport, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextStyle, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextServiceWorker,
-                                   url, String(), integrityMetadata,
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextSharedWorker,
-                                   url, String(), integrityMetadata,
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextWorker, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImage, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextScript, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImport, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextStyle, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextServiceWorker, url, String(),
+      integrityMetadata, ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextSharedWorker, url, String(),
+      integrityMetadata, ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextWorker, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImage, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
 }
 
 // Tests that requests for scripts and styles are blocked
@@ -471,39 +471,39 @@
   policy->didReceiveHeader("require-sri-for script style",
                            ContentSecurityPolicyHeaderTypeEnforce,
                            ContentSecurityPolicyHeaderSourceMeta);
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextScript, url,
-                                    String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextImport, url,
-                                    String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextScript, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextImport, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_FALSE(policy->allowRequest(
       WebURLRequest::RequestContextStyle, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextServiceWorker,
-                                    url, String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextSharedWorker,
-                                    url, String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
-  EXPECT_FALSE(policy->allowRequest(WebURLRequest::RequestContextWorker, url,
-                                    String(), IntegrityMetadataSet(),
-                                    ParserInserted,
-                                    ResourceRequest::RedirectStatus::NoRedirect,
-                                    ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextServiceWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextSharedWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_FALSE(policy->allowRequest(
+      WebURLRequest::RequestContextWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_TRUE(policy->allowRequest(
       WebURLRequest::RequestContextImage, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
   // Content-Security-Policy-Report-Only is not supported in meta element,
   // so nothing should be blocked
   policy = ContentSecurityPolicy::create();
@@ -511,39 +511,39 @@
   policy->didReceiveHeader("require-sri-for script style",
                            ContentSecurityPolicyHeaderTypeReport,
                            ContentSecurityPolicyHeaderSourceMeta);
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextScript, url,
-                                   String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImport, url,
-                                   String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextScript, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImport, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_TRUE(policy->allowRequest(
       WebURLRequest::RequestContextStyle, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextServiceWorker,
-                                   url, String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextSharedWorker,
-                                   url, String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextWorker, url,
-                                   String(), IntegrityMetadataSet(),
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextServiceWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextSharedWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextWorker, url, String(),
+      IntegrityMetadataSet(), ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   EXPECT_TRUE(policy->allowRequest(
       WebURLRequest::RequestContextImage, url, String(), IntegrityMetadataSet(),
       ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
-      ContentSecurityPolicy::SuppressReport));
+      SecurityViolationReportingPolicy::SuppressReporting));
 }
 
 // Tests that requests for scripts and styles are allowed
@@ -560,36 +560,36 @@
   policy->didReceiveHeader("require-sri-for script style",
                            ContentSecurityPolicyHeaderTypeEnforce,
                            ContentSecurityPolicyHeaderSourceMeta);
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextScript, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImport, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextStyle, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextServiceWorker,
-                                   url, String(), integrityMetadata,
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextSharedWorker,
-                                   url, String(), integrityMetadata,
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextWorker, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImage, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextScript, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImport, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextStyle, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextServiceWorker, url, String(),
+      integrityMetadata, ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextSharedWorker, url, String(),
+      integrityMetadata, ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextWorker, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImage, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
   // Content-Security-Policy-Report-Only is not supported in meta element,
   // so nothing should be blocked
   policy = ContentSecurityPolicy::create();
@@ -597,36 +597,36 @@
   policy->didReceiveHeader("require-sri-for script style",
                            ContentSecurityPolicyHeaderTypeReport,
                            ContentSecurityPolicyHeaderSourceMeta);
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextScript, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImport, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextStyle, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextServiceWorker,
-                                   url, String(), integrityMetadata,
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextSharedWorker,
-                                   url, String(), integrityMetadata,
-                                   ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextWorker, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
-  EXPECT_TRUE(policy->allowRequest(WebURLRequest::RequestContextImage, url,
-                                   String(), integrityMetadata, ParserInserted,
-                                   ResourceRequest::RedirectStatus::NoRedirect,
-                                   ContentSecurityPolicy::SuppressReport));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextScript, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImport, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextStyle, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextServiceWorker, url, String(),
+      integrityMetadata, ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextSharedWorker, url, String(),
+      integrityMetadata, ParserInserted,
+      ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextWorker, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
+  EXPECT_TRUE(policy->allowRequest(
+      WebURLRequest::RequestContextImage, url, String(), integrityMetadata,
+      ParserInserted, ResourceRequest::RedirectStatus::NoRedirect,
+      SecurityViolationReportingPolicy::SuppressReporting));
 }
 
 TEST_F(ContentSecurityPolicyTest, NonceSinglePolicy) {
diff --git a/third_party/WebKit/Source/core/html/parser/HTMLParserIdioms.cpp b/third_party/WebKit/Source/core/html/parser/HTMLParserIdioms.cpp
index b9bf250..e3ede9d3 100644
--- a/third_party/WebKit/Source/core/html/parser/HTMLParserIdioms.cpp
+++ b/third_party/WebKit/Source/core/html/parser/HTMLParserIdioms.cpp
@@ -398,7 +398,7 @@
   return "";
 }
 
-enum Mode {
+enum class MetaAttribute {
   None,
   Charset,
   Pragma,
@@ -407,7 +407,7 @@
 WTF::TextEncoding encodingFromMetaAttributes(
     const HTMLAttributeList& attributes) {
   bool gotPragma = false;
-  Mode mode = None;
+  MetaAttribute mode = MetaAttribute::None;
   String charset;
 
   for (const auto& htmlAttribute : attributes) {
@@ -420,16 +420,17 @@
     } else if (charset.isEmpty()) {
       if (threadSafeMatch(attributeName, charsetAttr)) {
         charset = attributeValue;
-        mode = Charset;
+        mode = MetaAttribute::Charset;
       } else if (threadSafeMatch(attributeName, contentAttr)) {
         charset = extractCharset(attributeValue);
         if (charset.length())
-          mode = Pragma;
+          mode = MetaAttribute::Pragma;
       }
     }
   }
 
-  if (mode == Charset || (mode == Pragma && gotPragma))
+  if (mode == MetaAttribute::Charset ||
+      (mode == MetaAttribute::Pragma && gotPragma))
     return WTF::TextEncoding(stripLeadingAndTrailingHTMLSpaces(charset));
 
   return WTF::TextEncoding();
diff --git a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
index 8f557dc0..94637cb 100644
--- a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
+++ b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
@@ -751,18 +751,13 @@
       frame()->script().shouldBypassMainWorldCSP() ||
       options.contentSecurityPolicyOption == DoNotCheckContentSecurityPolicy;
 
-  ContentSecurityPolicy::ReportingStatus cspReporting =
-      (reportingPolicy == SecurityViolationReportingPolicy::SuppressReporting)
-          ? ContentSecurityPolicy::SuppressReport
-          : ContentSecurityPolicy::SendReport;
-
   if (m_document) {
     DCHECK(m_document->contentSecurityPolicy());
     if (!shouldBypassMainWorldCSP &&
         !m_document->contentSecurityPolicy()->allowRequest(
             resourceRequest.requestContext(), url,
             options.contentSecurityPolicyNonce, options.integrityMetadata,
-            options.parserDisposition, redirectStatus, cspReporting))
+            options.parserDisposition, redirectStatus, reportingPolicy))
       return ResourceRequestBlockedReason::CSP;
   }
 
@@ -815,12 +810,8 @@
   // Check for mixed content. We do this second-to-last so that when folks block
   // mixed content with a CSP policy, they don't get a warning. They'll still
   // get a warning in the console about CSP blocking the load.
-  MixedContentChecker::ReportingStatus mixedContentReporting =
-      (reportingPolicy == SecurityViolationReportingPolicy::SuppressReporting)
-          ? MixedContentChecker::SuppressReport
-          : MixedContentChecker::SendReport;
   if (MixedContentChecker::shouldBlockFetch(frame(), resourceRequest, url,
-                                            mixedContentReporting))
+                                            reportingPolicy))
     return ResourceRequestBlockedReason::MixedContent;
 
   // Let the client have the final say into whether or not the load should
diff --git a/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp b/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp
index 4872586f..65ae5c7 100644
--- a/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp
+++ b/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp
@@ -47,6 +47,7 @@
 #include "platform/loader/fetch/UniqueIdentifier.h"
 #include "platform/network/ResourceRequest.h"
 #include "platform/weborigin/KURL.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "public/platform/WebAddressSpace.h"
 #include "public/platform/WebCachePolicy.h"
 #include "public/platform/WebDocumentSubresourceFilter.h"
@@ -165,18 +166,17 @@
   }
 
   ResourceRequestBlockedReason canRequest() {
-    return canRequestInternal(
-        FetchContext::SecurityViolationReportingPolicy::Report);
+    return canRequestInternal(SecurityViolationReportingPolicy::Report);
   }
 
   ResourceRequestBlockedReason canRequestPreload() {
     return canRequestInternal(
-        FetchContext::SecurityViolationReportingPolicy::SuppressReporting);
+        SecurityViolationReportingPolicy::SuppressReporting);
   }
 
  private:
   ResourceRequestBlockedReason canRequestInternal(
-      FetchContext::SecurityViolationReportingPolicy reportingPolicy) {
+      SecurityViolationReportingPolicy reportingPolicy) {
     KURL inputURL(ParsedURLString, "http://example.com/");
     ResourceRequest resourceRequest(inputURL);
     return fetchContext->canRequest(
diff --git a/third_party/WebKit/Source/core/loader/HttpEquiv.cpp b/third_party/WebKit/Source/core/loader/HttpEquiv.cpp
index 48c065cf..a8c64a2 100644
--- a/third_party/WebKit/Source/core/loader/HttpEquiv.cpp
+++ b/third_party/WebKit/Source/core/loader/HttpEquiv.cpp
@@ -18,6 +18,7 @@
 #include "platform/loader/fetch/ClientHintsPreferences.h"
 #include "platform/network/HTTPParsers.h"
 #include "platform/weborigin/KURL.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 
 namespace blink {
 
@@ -105,7 +106,7 @@
   UseCounter::count(document, UseCounter::MetaRefresh);
   if (!document.contentSecurityPolicy()->allowInlineScript(
           element, KURL(), "", OrdinalNumber(), "",
-          ContentSecurityPolicy::SuppressReport)) {
+          SecurityViolationReportingPolicy::SuppressReporting)) {
     UseCounter::count(document,
                       UseCounter::MetaRefreshWhenCSPBlocksInlineScript);
   }
@@ -124,7 +125,7 @@
   UseCounter::count(document, UseCounter::MetaSetCookie);
   if (!document.contentSecurityPolicy()->allowInlineScript(
           element, KURL(), "", OrdinalNumber(), "",
-          ContentSecurityPolicy::SuppressReport)) {
+          SecurityViolationReportingPolicy::SuppressReporting)) {
     UseCounter::count(document,
                       UseCounter::MetaSetCookieWhenCSPBlocksInlineScript);
   }
diff --git a/third_party/WebKit/Source/core/loader/MixedContentChecker.cpp b/third_party/WebKit/Source/core/loader/MixedContentChecker.cpp
index a89c1cfe..0951587 100644
--- a/third_party/WebKit/Source/core/loader/MixedContentChecker.cpp
+++ b/third_party/WebKit/Source/core/loader/MixedContentChecker.cpp
@@ -293,7 +293,7 @@
     WebURLRequest::FrameType frameType,
     ResourceRequest::RedirectStatus redirectStatus,
     const KURL& url,
-    MixedContentChecker::ReportingStatus reportingStatus) {
+    SecurityViolationReportingPolicy reportingPolicy) {
   // Frame-level loads are checked by the browser if PlzNavigate is enabled. No
   // need to check them again here.
   if (frame->settings()->getBrowserSideNavigationEnabled() &&
@@ -394,7 +394,7 @@
       break;
   };
 
-  if (reportingStatus == SendReport) {
+  if (reportingPolicy == SecurityViolationReportingPolicy::Report) {
     logToConsoleAboutFetch(frame, mainResourceUrlForFrame(mixedFrame), url,
                            requestContext, allowed);
   }
@@ -425,7 +425,7 @@
 bool MixedContentChecker::shouldBlockWebSocket(
     LocalFrame* frame,
     const KURL& url,
-    MixedContentChecker::ReportingStatus reportingStatus) {
+    SecurityViolationReportingPolicy reportingPolicy) {
   Frame* mixedFrame =
       inWhichFrameIsContentMixed(frame, WebURLRequest::FrameTypeNone, url);
   if (!mixedFrame)
@@ -463,16 +463,17 @@
   if (allowed)
     client->didRunInsecureContent(securityOrigin, url);
 
-  if (reportingStatus == SendReport) {
+  if (reportingPolicy == SecurityViolationReportingPolicy::Report) {
     logToConsoleAboutWebSocket(frame, mainResourceUrlForFrame(mixedFrame), url,
                                allowed);
   }
   return !allowed;
 }
 
-bool MixedContentChecker::isMixedFormAction(LocalFrame* frame,
-                                            const KURL& url,
-                                            ReportingStatus reportingStatus) {
+bool MixedContentChecker::isMixedFormAction(
+    LocalFrame* frame,
+    const KURL& url,
+    SecurityViolationReportingPolicy reportingPolicy) {
   // For whatever reason, some folks handle forms via JavaScript, and submit to
   // `javascript:void(0)` rather than calling `preventDefault()`. We
   // special-case `javascript:` URLs here, as they don't introduce MixedContent
@@ -491,7 +492,7 @@
   // mixed content signals from different frames on the same page.
   frame->loader().client()->didDisplayInsecureContent();
 
-  if (reportingStatus == SendReport) {
+  if (reportingPolicy == SecurityViolationReportingPolicy::Report) {
     String message = String::format(
         "Mixed Content: The page at '%s' was loaded over a secure connection, "
         "but contains a form which targets an insecure endpoint '%s'. This "
diff --git a/third_party/WebKit/Source/core/loader/MixedContentChecker.h b/third_party/WebKit/Source/core/loader/MixedContentChecker.h
index 7aca72f..5ef804fe 100644
--- a/third_party/WebKit/Source/core/loader/MixedContentChecker.h
+++ b/third_party/WebKit/Source/core/loader/MixedContentChecker.h
@@ -35,6 +35,7 @@
 #include "core/CoreExport.h"
 #include "platform/heap/Handle.h"
 #include "platform/network/ResourceRequest.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "public/platform/WebMixedContentContextType.h"
 #include "public/platform/WebURLRequest.h"
 #include "wtf/text/WTFString.h"
@@ -60,30 +61,34 @@
   DISALLOW_NEW();
 
  public:
-  enum ReportingStatus { SendReport, SuppressReport };
   static bool shouldBlockFetch(LocalFrame*,
                                WebURLRequest::RequestContext,
                                WebURLRequest::FrameType,
                                ResourceRequest::RedirectStatus,
                                const KURL&,
-                               ReportingStatus = SendReport);
+                               SecurityViolationReportingPolicy =
+                                   SecurityViolationReportingPolicy::Report);
   static bool shouldBlockFetch(LocalFrame* frame,
                                const ResourceRequest& request,
                                const KURL& url,
-                               ReportingStatus status = SendReport) {
+                               SecurityViolationReportingPolicy status =
+                                   SecurityViolationReportingPolicy::Report) {
     return shouldBlockFetch(frame, request.requestContext(),
                             request.frameType(), request.redirectStatus(), url,
                             status);
   }
 
-  static bool shouldBlockWebSocket(LocalFrame*,
-                                   const KURL&,
-                                   ReportingStatus = SendReport);
+  static bool shouldBlockWebSocket(
+      LocalFrame*,
+      const KURL&,
+      SecurityViolationReportingPolicy =
+          SecurityViolationReportingPolicy::Report);
 
   static bool isMixedContent(SecurityOrigin*, const KURL&);
   static bool isMixedFormAction(LocalFrame*,
                                 const KURL&,
-                                ReportingStatus = SendReport);
+                                SecurityViolationReportingPolicy =
+                                    SecurityViolationReportingPolicy::Report);
 
   static void checkMixedPrivatePublic(LocalFrame*,
                                       const AtomicString& resourceIPAddress);
diff --git a/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp b/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
index ea4544d..fb55444 100644
--- a/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
+++ b/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
@@ -36,6 +36,7 @@
 #include "platform/loader/fetch/ResourceFetcher.h"
 #include "platform/loader/fetch/ResourceLoader.h"
 #include "platform/loader/fetch/ResourceLoadingLog.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "public/platform/Platform.h"
 #include "v8/include/v8.h"
 #include "wtf/CurrentTime.h"
@@ -159,9 +160,8 @@
           request.options(),
           /* Don't send security violation reports for speculative preloads */
           request.isSpeculativePreload()
-              ? FetchContext::SecurityViolationReportingPolicy::
-                    SuppressReporting
-              : FetchContext::SecurityViolationReportingPolicy::Report,
+              ? SecurityViolationReportingPolicy::SuppressReporting
+              : SecurityViolationReportingPolicy::Report,
           request.getOriginRestriction());
       if (blockReason == ResourceRequestBlockedReason::None)
         fetcher->context().sendImagePing(requestURL);
diff --git a/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainer.cpp b/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainer.cpp
index 396af9c..e8449e8 100644
--- a/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainer.cpp
+++ b/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainer.cpp
@@ -56,6 +56,7 @@
 #include "modules/serviceworkers/ServiceWorkerRegistration.h"
 #include "platform/RuntimeEnabledFeatures.h"
 #include "platform/weborigin/SchemeRegistry.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "public/platform/WebString.h"
 #include "public/platform/WebURL.h"
 #include "public/platform/modules/serviceworker/WebServiceWorker.h"
@@ -247,7 +248,7 @@
               WebURLRequest::RequestContextServiceWorker, scriptURL) &&
           csp->allowWorkerContextFromSource(
               scriptURL, ResourceRequest::RedirectStatus::NoRedirect,
-              ContentSecurityPolicy::SendReport))) {
+              SecurityViolationReportingPolicy::Report))) {
       callbacks->onError(WebServiceWorkerError(
           WebServiceWorkerError::ErrorTypeSecurity,
           String(
diff --git a/third_party/WebKit/Source/platform/BUILD.gn b/third_party/WebKit/Source/platform/BUILD.gn
index d50fa0f..c33571d 100644
--- a/third_party/WebKit/Source/platform/BUILD.gn
+++ b/third_party/WebKit/Source/platform/BUILD.gn
@@ -1367,6 +1367,7 @@
     "weborigin/SecurityOriginHash.h",
     "weborigin/SecurityPolicy.cpp",
     "weborigin/SecurityPolicy.h",
+    "weborigin/SecurityViolationReportingPolicy.h",
     "weborigin/Suborigin.cpp",
     "weborigin/Suborigin.h",
     "weborigin/URLSecurityOriginMap.h",
diff --git a/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp b/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp
index 3e6a51f..8f0d5aa 100644
--- a/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp
+++ b/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp
@@ -15,10 +15,104 @@
 
 namespace {
 
+// This must match ICCProfileAnalyzeResult enum in histograms.xml.
+enum ICCAnalyzeResult {
+  ICCExtractedMatrixAndAnalyticTrFn = 0,
+  ICCExtractedMatrixAndApproximatedTrFn = 1,
+  ICCFailedToApproximateTrFn = 2,
+  ICCFailedToExtractRawTrFn = 3,
+  ICCFailedToExtractMatrix = 4,
+  ICCFailedToParse = 5,
+  ICCProfileAnalyzeLast = ICCFailedToParse
+};
+
 // The output device color space is global and shared across multiple threads.
 SpinLock gTargetColorSpaceLock;
 gfx::ColorSpace* gTargetColorSpace = nullptr;
 
+ICCAnalyzeResult HistogramICCProfile(const gfx::ICCProfile& profile) {
+  std::vector<char> data = profile.GetData();
+  sk_sp<SkICC> skICC = SkICC::Make(data.data(), data.size());
+  if (!skICC)
+    return ICCFailedToParse;
+
+  SkMatrix44 toXYZD50;
+  bool toXYZD50Result = skICC->toXYZD50(&toXYZD50);
+  if (!toXYZD50Result)
+    return ICCFailedToExtractMatrix;
+
+  SkColorSpaceTransferFn fn;
+  bool isNumericalTransferFnResult = skICC->isNumericalTransferFn(&fn);
+  if (isNumericalTransferFnResult)
+    return ICCExtractedMatrixAndAnalyticTrFn;
+
+  // Analyze the numerical approximation of table-based transfer functions.
+  // This should never fail in practice, because any profile from which a
+  // primary matrix was extracted will also provide raw transfer data.
+  SkICC::Tables tables;
+  bool rawTransferFnResult = skICC->rawTransferFnData(&tables);
+  DCHECK(rawTransferFnResult);
+  if (!rawTransferFnResult)
+    return ICCFailedToExtractRawTrFn;
+
+  // Analyze the channels separately.
+  std::vector<float> xCombined;
+  std::vector<float> tCombined;
+  for (size_t c = 0; c < 3; ++c) {
+    SkICC::Channel* channels[3] = {&tables.fRed, &tables.fGreen, &tables.fBlue};
+    SkICC::Channel* channel = channels[c];
+    DCHECK_GE(channel->fCount, 2);
+    const float* data = reinterpret_cast<const float*>(
+        tables.fStorage->bytes() + channel->fOffset);
+    std::vector<float> x;
+    std::vector<float> t;
+    for (int i = 0; i < channel->fCount; ++i) {
+      float xi = i / (channel->fCount - 1.f);
+      float ti = data[i];
+      x.push_back(xi);
+      t.push_back(ti);
+      xCombined.push_back(xi);
+      tCombined.push_back(ti);
+    }
+
+    bool nonlinearFitConverged =
+        gfx::SkApproximateTransferFn(x.data(), t.data(), x.size(), &fn);
+    UMA_HISTOGRAM_BOOLEAN("Blink.ColorSpace.Destination.NonlinearFitConverged",
+                          nonlinearFitConverged);
+
+    // Record the accuracy of the fit, separating out by nonlinear and
+    // linear fits.
+    if (nonlinearFitConverged) {
+      float maxError = 0.f;
+      for (size_t i = 0; i < x.size(); ++i) {
+        float fnOfXi = gfx::SkTransferFnEval(fn, x[i]);
+        float errorAtXi = std::abs(t[i] - fnOfXi);
+        maxError = std::max(maxError, errorAtXi);
+      }
+      UMA_HISTOGRAM_CUSTOM_COUNTS(
+          "Blink.ColorSpace.Destination.NonlinearFitError",
+          static_cast<int>(maxError * 255), 0, 127, 16);
+    }
+  }
+
+  bool combinedNonlinearFitConverged = gfx::SkApproximateTransferFn(
+      xCombined.data(), tCombined.data(), xCombined.size(), &fn);
+  if (!combinedNonlinearFitConverged)
+    return ICCFailedToApproximateTrFn;
+
+  float combinedMaxError = 0.f;
+  for (size_t i = 0; i < xCombined.size(); ++i) {
+    float fnOfXi = gfx::SkTransferFnEval(fn, xCombined[i]);
+    float errorAtXi = std::abs(tCombined[i] - fnOfXi);
+    combinedMaxError = std::max(combinedMaxError, errorAtXi);
+  }
+  UMA_HISTOGRAM_CUSTOM_COUNTS(
+      "Blink.ColorSpace.Destination.NonlinearFitErrorCombined",
+      static_cast<int>(combinedMaxError * 255), 0, 127, 16);
+
+  return ICCExtractedMatrixAndApproximatedTrFn;
+}
+
 }  // namespace
 
 // static
@@ -36,80 +130,9 @@
   if (profile != gfx::ICCProfile()) {
     gTargetColorSpace = new gfx::ColorSpace(profile.GetColorSpace());
 
-    std::vector<char> data = profile.GetData();
-    sk_sp<SkICC> skICC = SkICC::Make(data.data(), data.size());
-    if (skICC) {
-      SkMatrix44 toXYZD50;
-      bool toXYZD50Result = skICC->toXYZD50(&toXYZD50);
-      UMA_HISTOGRAM_BOOLEAN("Blink.ColorSpace.Destination.Matrix",
-                            toXYZD50Result);
-
-      SkColorSpaceTransferFn fn;
-      bool isNumericalTransferFnResult = skICC->isNumericalTransferFn(&fn);
-      UMA_HISTOGRAM_BOOLEAN("Blink.ColorSpace.Destination.Numerical",
-                            isNumericalTransferFnResult);
-
-      // Analyze the numerical approximation of table-based transfer functions.
-      if (!isNumericalTransferFnResult) {
-        SkICC::Tables tables;
-        bool rawTransferFnResult = skICC->rawTransferFnData(&tables);
-        UMA_HISTOGRAM_BOOLEAN("Blink.ColorSpace.Destination.ExtractedRawData",
-                              rawTransferFnResult);
-        if (rawTransferFnResult) {
-          SkICC::Channel* channels[3] = {&tables.fRed, &tables.fGreen,
-                                         &tables.fBlue};
-          for (size_t c = 0; c < 3; ++c) {
-            SkICC::Channel* channel = channels[c];
-            DCHECK_GE(channel->fCount, 2);
-            const float* data = reinterpret_cast<const float*>(
-                tables.fStorage->bytes() + channel->fOffset);
-            std::vector<float> x;
-            std::vector<float> t;
-            float tMin = data[0];
-            float tMax = data[0];
-            for (int i = 0; i < channel->fCount; ++i) {
-              float xi = i / (channel->fCount - 1.f);
-              float ti = data[i];
-              x.push_back(xi);
-              t.push_back(ti);
-              tMin = std::min(tMin, ti);
-              tMax = std::max(tMax, ti);
-            }
-
-            // Record the range of the table-based transfer function. If it is
-            // found that almost all ranges are from 0 to 1, then we will bake
-            // the assumption that the range is 0 to 1 into the numerical
-            // approximation code (which will improve stability).
-            UMA_HISTOGRAM_CUSTOM_COUNTS("Blink.ColorSpace.Destination.TMin",
-                                        static_cast<int>(tMin * 255), 0, 31, 8);
-            UMA_HISTOGRAM_CUSTOM_COUNTS(
-                "Blink.ColorSpace.Destination.OneMinusTMax",
-                static_cast<int>((1.f - tMax) * 255), 0, 31, 8);
-            bool nonlinearFitConverged = false;
-            float error = 0;
-            gfx::SkApproximateTransferFn(x.data(), t.data(), x.size(), &fn,
-                                         &error, &nonlinearFitConverged);
-
-            // Record if the numerical fit converged, or if it didn't.
-            UMA_HISTOGRAM_BOOLEAN(
-                "Blink.ColorSpace.Destination.NonlinearFitConverged",
-                nonlinearFitConverged);
-
-            // Record the accuracy of the fit, separating out by nonlinear and
-            // linear fits.
-            if (nonlinearFitConverged) {
-              UMA_HISTOGRAM_CUSTOM_COUNTS(
-                  "Blink.ColorSpace.Destination.NonlinearFitError",
-                  static_cast<int>(error * 255), 0, 127, 16);
-            } else {
-              UMA_HISTOGRAM_CUSTOM_COUNTS(
-                  "Blink.ColorSpace.Destination.LinearFitError",
-                  static_cast<int>(error * 255), 0, 127, 16);
-            }
-          }
-        }
-      }
-    }
+    ICCAnalyzeResult analyzeResult = HistogramICCProfile(profile);
+    UMA_HISTOGRAM_ENUMERATION("Blink.ColorSpace.Destination.ICCResult",
+                              analyzeResult, ICCProfileAnalyzeLast);
   }
 
   // If we do not succeed, assume sRGB.
diff --git a/third_party/WebKit/Source/platform/loader/fetch/FetchContext.h b/third_party/WebKit/Source/platform/loader/fetch/FetchContext.h
index 8c92022..50975265 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/FetchContext.h
+++ b/third_party/WebKit/Source/platform/loader/fetch/FetchContext.h
@@ -39,6 +39,7 @@
 #include "platform/loader/fetch/Resource.h"
 #include "platform/network/ResourceLoadPriority.h"
 #include "platform/network/ResourceRequest.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "wtf/Forward.h"
 #include "wtf/Noncopyable.h"
 
@@ -135,7 +136,6 @@
 
   virtual void addResourceTiming(const ResourceTimingInfo&);
   virtual bool allowImage(bool, const KURL&) const { return false; }
-  enum class SecurityViolationReportingPolicy { SuppressReporting, Report };
   virtual ResourceRequestBlockedReason canRequest(
       Resource::Type,
       const ResourceRequest&,
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
index 65ce985..1fc4279 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
@@ -45,13 +45,13 @@
 #include "platform/weborigin/KnownPorts.h"
 #include "platform/weborigin/SecurityOrigin.h"
 #include "platform/weborigin/SecurityPolicy.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebCachePolicy.h"
 #include "public/platform/WebURL.h"
 #include "public/platform/WebURLRequest.h"
 #include "wtf/text/CString.h"
 #include "wtf/text/WTFString.h"
-#include <memory>
 
 using blink::WebURLRequest;
 
@@ -489,8 +489,8 @@
       request.options(),
       /* Don't send security violation reports for speculative preloads */
       request.isSpeculativePreload()
-          ? FetchContext::SecurityViolationReportingPolicy::SuppressReporting
-          : FetchContext::SecurityViolationReportingPolicy::Report,
+          ? SecurityViolationReportingPolicy::SuppressReporting
+          : SecurityViolationReportingPolicy::Report,
       request.getOriginRestriction());
   if (blockedReason != ResourceRequestBlockedReason::None) {
     DCHECK(!substituteData.forceSynchronousLoad());
@@ -1502,7 +1502,7 @@
   FetchRequest request(resourceRequest, initiatorName, resource->options());
   context().canRequest(resource->getType(), resource->lastResourceRequest(),
                        resource->lastResourceRequest().url(), request.options(),
-                       FetchContext::SecurityViolationReportingPolicy::Report,
+                       SecurityViolationReportingPolicy::Report,
                        request.getOriginRestriction());
   requestLoadStarted(resource->identifier(), resource, request,
                      ResourceLoadingFromCache);
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
index 6ebed25..3356215 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
@@ -38,6 +38,7 @@
 #include "platform/loader/fetch/ResourceFetcher.h"
 #include "platform/network/NetworkInstrumentation.h"
 #include "platform/network/ResourceError.h"
+#include "platform/weborigin/SecurityViolationReportingPolicy.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebCachePolicy.h"
 #include "public/platform/WebData.h"
@@ -48,7 +49,6 @@
 #include "wtf/CurrentTime.h"
 #include "wtf/PtrUtil.h"
 #include "wtf/text/StringBuilder.h"
-#include <memory>
 
 namespace blink {
 
@@ -175,8 +175,8 @@
         m_resource->options(),
         /* Don't send security violation reports for unused preloads */
         (m_resource->isUnusedPreload()
-             ? FetchContext::SecurityViolationReportingPolicy::SuppressReporting
-             : FetchContext::SecurityViolationReportingPolicy::Report),
+             ? SecurityViolationReportingPolicy::SuppressReporting
+             : SecurityViolationReportingPolicy::Report),
         FetchRequest::UseDefaultOriginRestrictionForType);
     if (blockedReason != ResourceRequestBlockedReason::None) {
       cancelForRedirectAccessCheckError(newRequest.url(), blockedReason);
@@ -267,9 +267,8 @@
       resource->getType(), resource->resourceRequest(), response.url(),
       resource->options(),
       /* Don't send security violation reports for unused preloads */
-      (unusedPreload
-           ? FetchContext::SecurityViolationReportingPolicy::SuppressReporting
-           : FetchContext::SecurityViolationReportingPolicy::Report),
+      (unusedPreload ? SecurityViolationReportingPolicy::SuppressReporting
+                     : SecurityViolationReportingPolicy::Report),
       FetchRequest::UseDefaultOriginRestrictionForType);
   if (blockedReason != ResourceRequestBlockedReason::None)
     return blockedReason;
diff --git a/third_party/WebKit/Source/platform/weborigin/SecurityViolationReportingPolicy.h b/third_party/WebKit/Source/platform/weborigin/SecurityViolationReportingPolicy.h
new file mode 100644
index 0000000..8ca06a3
--- /dev/null
+++ b/third_party/WebKit/Source/platform/weborigin/SecurityViolationReportingPolicy.h
@@ -0,0 +1,17 @@
+// 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 SecurityViolationReportingPolicy_h
+#define SecurityViolationReportingPolicy_h
+
+namespace blink {
+
+enum class SecurityViolationReportingPolicy {
+  SuppressReporting,
+  Report,
+};
+
+}  // namespace blink
+
+#endif  // SecurityViolationReportingPolicy_h
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 6c89c0a..52b7c8e 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -4450,6 +4450,9 @@
 
 <histogram name="Blink.ColorSpace.Destination.ExtractedRawData"
     enum="ColorSpaceExtractedRawDataResult">
+  <obsolete>
+    Merged into Blink.ColorSpace.Destination.ICCResult on 2017-02-28.
+  </obsolete>
   <owner>ccameron@chromium.org</owner>
   <summary>
     Whether or not the output color space ICC profile was able to produce raw
@@ -4457,7 +4460,18 @@
   </summary>
 </histogram>
 
+<histogram name="Blink.ColorSpace.Destination.ICCResult"
+    enum="ICCProfileAnalyzeResult">
+  <owner>ccameron@chromium.org</owner>
+  <summary>
+    The result of analyzing the destiation color space's ICC profile.
+  </summary>
+</histogram>
+
 <histogram name="Blink.ColorSpace.Destination.LinearFitError">
+  <obsolete>
+    Linear fit found to be always inaccurate on 2017-02-28.
+  </obsolete>
   <owner>ccameron@chromium.org</owner>
   <summary>
     The L-infinity error (in 8-bit values) of the numerical approximation of
@@ -4468,6 +4482,9 @@
 
 <histogram name="Blink.ColorSpace.Destination.Matrix"
     enum="ColorSpaceMatrixResult">
+  <obsolete>
+    Merged into Blink.ColorSpace.Destination.ICCResult on 2017-02-28.
+  </obsolete>
   <owner>ccameron@chromium.org</owner>
   <summary>
     Whether or not to-XYZD50 matrix was extracted from the output color space
@@ -4480,7 +4497,7 @@
   <owner>ccameron@chromium.org</owner>
   <summary>
     Whether or not the nonlinear least squares fit of the table-based ICC
-    profile transfer function converged.
+    profile transfer function for a single channel converged.
   </summary>
 </histogram>
 
@@ -4488,13 +4505,25 @@
   <owner>ccameron@chromium.org</owner>
   <summary>
     The L-infinity error (in 8-bit values) of the numerical approximation of
-    table-based ICC profile transfer functions, when the nonlinear approximation
-    converged.
+    table-based ICC profile transfer functions for a single channel, when the
+    nonlinear approximation converged.
+  </summary>
+</histogram>
+
+<histogram name="Blink.ColorSpace.Destination.NonlinearFitErrorCombined">
+  <owner>ccameron@chromium.org</owner>
+  <summary>
+    The L-infinity error (in 8-bit values) of the numerical approximation of
+    table-based ICC profile transfer functions for all channels combined, when
+    the nonlinear approximation converged.
   </summary>
 </histogram>
 
 <histogram name="Blink.ColorSpace.Destination.Numerical"
     enum="ColorSpaceNumericalResult">
+  <obsolete>
+    Merged into Blink.ColorSpace.Destination.ICCResult on 2017-02-28.
+  </obsolete>
   <owner>ccameron@chromium.org</owner>
   <summary>
     Whether or not the output color space ICC profile has a numerical transfer
@@ -4503,6 +4532,9 @@
 </histogram>
 
 <histogram name="Blink.ColorSpace.Destination.OneMinusTMax">
+  <obsolete>
+    TMax found to almost always be 1 on 2017-02-28.
+  </obsolete>
   <owner>ccameron@chromium.org</owner>
   <summary>
     One minus the maximum value of table-based ICC profile transfer functions as
@@ -4512,6 +4544,9 @@
 </histogram>
 
 <histogram name="Blink.ColorSpace.Destination.TMin">
+  <obsolete>
+    TMin found to almost always be 0 on 2017-02-28.
+  </obsolete>
   <owner>ccameron@chromium.org</owner>
   <summary>
     The minimum value of table-based ICC profile transfer functions as an 8-bit
@@ -7437,6 +7472,24 @@
   </summary>
 </histogram>
 
+<histogram name="Compositing.DirectRenderer.GL.DrawFrameUs"
+    units="microseconds">
+  <owner>weiliangc@chromium.org</owner>
+  <summary>
+    Time spent drawing of composited layers by GLRenderer, in microseconds. This
+    is logged once per frame, when a frame should be drawn.
+  </summary>
+</histogram>
+
+<histogram name="Compositing.DirectRenderer.Software.DrawFrameUs"
+    units="microseconds">
+  <owner>weiliangc@chromium.org</owner>
+  <summary>
+    Time spent drawing of composited layers by SoftwareRenderer, in
+    microseconds. This is logged once per frame, when a frame should be drawn.
+  </summary>
+</histogram>
+
 <histogram
     name="Compositing.DisplayListRecordingSource.UpdateInvalidatedAreaPerMs"
     units="pixels/ms">
@@ -7745,6 +7798,15 @@
   </summary>
 </histogram>
 
+<histogram name="Compositing.SurfaceAggregator.AggregateUs"
+    units="microseconds">
+  <owner>weiliangc@chromium.org</owner>
+  <summary>
+    Time spent aggregating compositor frames from different surfaces in
+    microseconds. This is logged once per frame.
+  </summary>
+</histogram>
+
 <histogram name="Conflicts.ConfirmedBadModules" units="modules">
   <owner>chrisha@chromium.org</owner>
   <summary>
@@ -61023,6 +61085,9 @@
 </histogram>
 
 <histogram name="Search.ContextualSearchRecentScrollNotSeen" units="ms">
+  <obsolete>
+    Deprecated 02/2017.
+  </obsolete>
   <owner>donnd@chromium.org</owner>
   <owner>twellington@chromium.org</owner>
   <summary>
@@ -61032,6 +61097,9 @@
 </histogram>
 
 <histogram name="Search.ContextualSearchRecentScrollSeen" units="ms">
+  <obsolete>
+    Deprecated 02/2017.
+  </obsolete>
   <owner>donnd@chromium.org</owner>
   <owner>twellington@chromium.org</owner>
   <summary>
@@ -94941,6 +95009,18 @@
   </int>
 </enum>
 
+<enum name="ICCProfileAnalyzeResult" type="int">
+  <int value="0"
+      label="Extracted primary matrix and numerical transfer function"/>
+  <int value="1"
+      label="Extracted primary matrix and approximated transfer function"/>
+  <int value="2"
+      label="Failed to converge in approximation of transfer function"/>
+  <int value="3" label="Failed to extract transfer function"/>
+  <int value="4" label="Failed to extract primary matrix"/>
+  <int value="5" label="Failed to parse"/>
+</enum>
+
 <enum name="IceCandidatePairTypes" type="int">
   <int value="0" label="host_host"/>
   <int value="1" label="host_srflx"/>
@@ -110820,6 +110900,8 @@
   <int value="6" label="Extensions"/>
   <int value="7" label="Open Tabs"/>
   <int value="8" label="Apps"/>
+  <int value="9" label="Synced Notifications"/>
+  <int value="10" label="WiFi Credentials"/>
   <int value="11" label="Reading List"/>
 </enum>
 
diff --git a/ui/gfx/color_space_unittest.cc b/ui/gfx/color_space_unittest.cc
index 952bec4..c9c8775 100644
--- a/ui/gfx/color_space_unittest.cc
+++ b/ui/gfx/color_space_unittest.cc
@@ -102,11 +102,10 @@
     t.push_back(SkTransferFnEval(tr_fn, v));
   }
 
-  bool converged = false;
-  float error = 0;
   SkColorSpaceTransferFn fn_approx;
-  SkApproximateTransferFn(x.data(), t.data(), x.size(), &fn_approx, &error,
-                          &converged);
+  bool converged =
+      SkApproximateTransferFn(x.data(), t.data(), x.size(), &fn_approx);
+  EXPECT_TRUE(converged);
 
   for (size_t i = 0; i < x.size(); ++i) {
     float fn_approx_of_x = SkTransferFnEval(fn_approx, x[i]);
@@ -117,10 +116,10 @@
 }
 
 ColorSpace::TransferID all_transfers[] = {
-    ColorSpace::TransferID::GAMMA22,      ColorSpace::TransferID::GAMMA24,
-    ColorSpace::TransferID::GAMMA28,      ColorSpace::TransferID::BT709,
-    ColorSpace::TransferID::SMPTE240M,    ColorSpace::TransferID::IEC61966_2_1,
-    ColorSpace::TransferID::SMPTEST428_1, ColorSpace::TransferID::LINEAR};
+    ColorSpace::TransferID::GAMMA22,   ColorSpace::TransferID::GAMMA24,
+    ColorSpace::TransferID::GAMMA28,   ColorSpace::TransferID::BT709,
+    ColorSpace::TransferID::SMPTE240M, ColorSpace::TransferID::IEC61966_2_1,
+    ColorSpace::TransferID::LINEAR};
 
 size_t all_table_sizes[] = {512, 256, 128, 64, 16, 11, 8, 7, 6, 5, 4};
 
@@ -129,5 +128,49 @@
                         testing::Combine(testing::ValuesIn(all_transfers),
                                          testing::ValuesIn(all_table_sizes)));
 
+TEST(ColorSpace, ApproximateTransferFnBadMatch) {
+  const float kStep = 1.f / 512.f;
+  ColorSpace::TransferID transfer_ids[3] = {
+      ColorSpace::TransferID::IEC61966_2_1, ColorSpace::TransferID::GAMMA22,
+      ColorSpace::TransferID::BT709,
+  };
+  gfx::ColorSpace color_spaces[3];
+
+  // The first iteration will have a perfect match. The second will be very
+  // close. The third will converge, but with an error of ~7/256.
+  for (size_t transfers_to_use = 1; transfers_to_use <= 3; ++transfers_to_use) {
+    std::vector<float> x;
+    std::vector<float> t;
+    for (size_t c = 0; c < transfers_to_use; ++c) {
+      color_spaces[c] =
+          gfx::ColorSpace(ColorSpace::PrimaryID::BT709, transfer_ids[c]);
+      SkColorSpaceTransferFn tr_fn;
+      bool result = color_spaces[c].GetTransferFunction(&tr_fn);
+      CHECK(result);
+
+      for (float v = 0; v <= 1.f; v += kStep) {
+        x.push_back(v);
+        t.push_back(SkTransferFnEval(tr_fn, v));
+      }
+    }
+
+    SkColorSpaceTransferFn fn_approx;
+    bool converged =
+        SkApproximateTransferFn(x.data(), t.data(), x.size(), &fn_approx);
+    EXPECT_TRUE(converged);
+
+    float expected_error = 1.5f / 256.f;
+    if (transfers_to_use == 3)
+      expected_error = 8.f / 256.f;
+
+    for (size_t i = 0; i < x.size(); ++i) {
+      float fn_approx_of_x = SkTransferFnEval(fn_approx, x[i]);
+      EXPECT_NEAR(t[i], fn_approx_of_x, expected_error);
+      if (std::abs(t[i] - fn_approx_of_x) > expected_error)
+        break;
+    }
+  }
+}
+
 }  // namespace
 }  // namespace gfx
diff --git a/ui/gfx/skia_color_space_util.cc b/ui/gfx/skia_color_space_util.cc
index a4cfa3b..b092887 100644
--- a/ui/gfx/skia_color_space_util.cc
+++ b/ui/gfx/skia_color_space_util.cc
@@ -13,111 +13,76 @@
 
 namespace {
 
-// Evaluate the gradient of the linear component of fn
-void SkTransferFnEvalGradientLinear(const SkColorSpaceTransferFn& fn,
-                                    float x,
-                                    float* d_fn_d_fC_at_x,
-                                    float* d_fn_d_fF_at_x) {
-  *d_fn_d_fC_at_x = x;
-  *d_fn_d_fF_at_x = 1.f;
-}
-
-// Solve for the parameters fC and fF, given the parameter fD.
+// Solve for the parameter fC, given the parameter fD, assuming fF is zero.
 void SkTransferFnSolveLinear(SkColorSpaceTransferFn* fn,
                              const float* x,
                              const float* t,
                              size_t n) {
   // If this has no linear segment, don't try to solve for one.
-  if (fn->fD <= 0) {
-    fn->fC = 1;
-    fn->fF = 0;
+  fn->fC = 1;
+  fn->fF = 0;
+  if (fn->fD <= 0)
     return;
-  }
 
-  // Let ne_lhs be the left hand side of the normal equations, and let ne_rhs
-  // be the right hand side. This is a 4x4 matrix, but we will only update the
-  // upper-left 2x2 sub-matrix.
-  SkMatrix44 ne_lhs;
-  SkVector4 ne_rhs;
-  for (int row = 0; row < 2; ++row) {
-    for (int col = 0; col < 2; ++col) {
-      ne_lhs.set(row, col, 0);
-    }
-  }
-  for (int row = 0; row < 4; ++row)
-    ne_rhs.fData[row] = 0;
+  // Because this is a linear least squares fit of a single variable, our normal
+  // equations are 1x1. Use the same framework as in SolveNonlinear, even though
+  // this is pretty trivial.
+  float ne_lhs = 0;
+  float ne_rhs = 0;
 
   // Add the contributions from each sample to the normal equations.
-  float x_linear_max = 0;
   for (size_t i = 0; i < n; ++i) {
     // Ignore points in the nonlinear segment.
     if (x[i] >= fn->fD)
       continue;
-    x_linear_max = std::max(x_linear_max, x[i]);
 
-    // Let J be the gradient of fn with respect to parameters C and F, evaluated
-    // at this point.
-    float J[2];
-    SkTransferFnEvalGradientLinear(*fn, x[i], &J[0], &J[1]);
-
-    // Let r be the residual at this point.
+    // Let J be the gradient of fn with respect to parameter C, evaluated at
+    // this point, and let r be the residual at this point.
+    float J = x[i];
     float r = t[i];
 
-    // Update the normal equations left hand side with the outer product of J
-    // with itself.
-    for (int row = 0; row < 2; ++row) {
-      for (int col = 0; col < 2; ++col) {
-        ne_lhs.set(row, col, ne_lhs.get(row, col) + J[row] * J[col]);
-      }
-      // Update the normal equations right hand side the product of J with the
-      // residual
-      ne_rhs.fData[row] += J[row] * r;
-    }
+    // Update the normal equations left and right hand sides.
+    ne_lhs += J * J;
+    ne_rhs += J * r;
   }
 
-  // If we only have a single x point at 0, that isn't enough to construct a
+  // If we only had a single x point at 0, that isn't enough to construct a
   // linear segment, so add an additional point connecting to the nonlinear
   // segment.
-  if (x_linear_max == 0) {
-    float J[2];
-    SkTransferFnEvalGradientLinear(*fn, fn->fD, &J[0], &J[1]);
+  if (ne_lhs == 0) {
+    float J = fn->fD;
     float r = SkTransferFnEval(*fn, fn->fD);
-    for (int row = 0; row < 2; ++row) {
-      for (int col = 0; col < 2; ++col) {
-        ne_lhs.set(row, col, ne_lhs.get(row, col) + J[row] * J[col]);
-      }
-      ne_rhs.fData[row] += J[row] * r;
-    }
+    ne_lhs += J * J;
+    ne_lhs += J * r;
   }
 
-  // Solve the normal equations.
-  SkMatrix44 ne_lhs_inv;
-  bool invert_result = ne_lhs.invert(&ne_lhs_inv);
-  DCHECK(invert_result);
-  SkVector4 solution = ne_lhs_inv * ne_rhs;
-
   // Update the transfer function.
-  fn->fC = solution.fData[0];
-  fn->fF = solution.fData[1];
+  fn->fC = ne_rhs / ne_lhs;
+  fn->fF = 0;
 }
 
-// Evaluate the gradient of the nonlinear component of fn
+// Evaluate the gradient of the nonlinear component of fn. This assumes that
+// |fn| maps 1 to 1, and therefore fE is implicity 1 - pow(fA + fB, fG).
 void SkTransferFnEvalGradientNonlinear(const SkColorSpaceTransferFn& fn,
                                        float x,
                                        float* d_fn_d_fA_at_x,
                                        float* d_fn_d_fB_at_x,
-                                       float* d_fn_d_fE_at_x,
                                        float* d_fn_d_fG_at_x) {
-  float base = fn.fA * x + fn.fB;
-  if (base > 0.f) {
-    *d_fn_d_fA_at_x = fn.fG * x * std::pow(base, fn.fG - 1.f);
-    *d_fn_d_fB_at_x = fn.fG * std::pow(base, fn.fG - 1.f);
-    *d_fn_d_fE_at_x = 1.f;
-    *d_fn_d_fG_at_x = std::pow(base, fn.fG) * std::log(base);
+  float Ax_plus_B = fn.fA * x + fn.fB;
+  float A_plus_B = fn.fA + fn.fB;
+  if (Ax_plus_B >= 0.f && A_plus_B >= 0.f) {
+    float Ax_plus_B_to_G = std::pow(fn.fA * x + fn.fB, fn.fG);
+    float Ax_plus_B_to_G_minus_1 = std::pow(fn.fA * x + fn.fB, fn.fG - 1.f);
+    float A_plus_B_to_G = std::pow(fn.fA + fn.fB, fn.fG);
+    float A_plus_B_to_G_minus_1 = std::pow(fn.fA + fn.fB, fn.fG - 1.f);
+    *d_fn_d_fA_at_x =
+        (x * Ax_plus_B_to_G_minus_1 - A_plus_B_to_G_minus_1) * fn.fG;
+    *d_fn_d_fB_at_x = (Ax_plus_B_to_G_minus_1 - A_plus_B_to_G_minus_1) * fn.fG;
+    *d_fn_d_fG_at_x = Ax_plus_B_to_G * std::log(Ax_plus_B) -
+                      A_plus_B_to_G * std::log(A_plus_B);
   } else {
     *d_fn_d_fA_at_x = 0.f;
     *d_fn_d_fB_at_x = 0.f;
-    *d_fn_d_fE_at_x = 0.f;
     *d_fn_d_fG_at_x = 0.f;
   }
 }
@@ -130,13 +95,11 @@
                                           size_t n) {
   float kEpsilon = 1.f / 1024.f;
   // Let ne_lhs be the left hand side of the normal equations, and let ne_rhs
-  // be the right hand side.
-  SkMatrix44 ne_lhs;
+  // be the right hand side. Zero the diagonal of |ne_lhs| and all of |ne_rhs|.
+  SkMatrix44 ne_lhs(SkMatrix44::kIdentity_Constructor);
   SkVector4 ne_rhs;
-  for (int row = 0; row < 4; ++row) {
-    for (int col = 0; col < 4; ++col) {
-      ne_lhs.set(row, col, 0);
-    }
+  for (int row = 0; row < 3; ++row) {
+    ne_lhs.set(row, row, 0);
     ne_rhs.fData[row] = 0;
   }
 
@@ -146,35 +109,40 @@
     // Ignore points in the linear segment.
     if (x[i] < fn->fD)
       continue;
+
     // Let J be the gradient of fn with respect to parameters A, B, E, and G,
     // evaulated at this point.
-    float J[4];
-    SkTransferFnEvalGradientNonlinear(*fn, x[i], &J[0], &J[1], &J[2], &J[3]);
+    float J[3];
+    SkTransferFnEvalGradientNonlinear(*fn, x[i], &J[0], &J[1], &J[2]);
+
     // Let r be the residual at this point;
     float r = t[i] - SkTransferFnEval(*fn, x[i]);
     *error_Linfty_before += std::abs(r);
+
     // Update the normal equations left hand side with the outer product of J
     // with itself.
-    for (int row = 0; row < 4; ++row) {
-      for (int col = 0; col < 4; ++col) {
+    for (int row = 0; row < 3; ++row) {
+      for (int col = 0; col < 3; ++col) {
         ne_lhs.set(row, col, ne_lhs.get(row, col) + J[row] * J[col]);
       }
+
       // Update the normal equations right hand side the product of J with the
       // residual
       ne_rhs.fData[row] += J[row] * r;
     }
   }
 
-  // Note that if fG = 1, then the normal equations will be singular (because,
-  // when fG = 1, because fA and fE are equivalent parameters).  To avoid
-  // problems, fix fE (row/column 3) in these circumstances.
+  // Note that if fG = 1, then the normal equations will be singular, because
+  // fB cancels out with itself. This could be handled better by using QR
+  // factorization instead of solving the normal equations.
   if (std::abs(fn->fG - 1) < kEpsilon) {
-    for (int row = 0; row < 4; ++row) {
-      float value = (row == 2) ? 1.f : 0.f;
-      ne_lhs.set(row, 2, value);
-      ne_lhs.set(2, row, value);
+    for (int row = 0; row < 3; ++row) {
+      float value = (row == 1) ? 1.f : 0.f;
+      ne_lhs.set(row, 1, value);
+      ne_lhs.set(1, row, value);
     }
-    ne_rhs.fData[2] = 0.f;
+    ne_rhs.fData[1] = 0.f;
+    fn->fB = 0.f;
   }
 
   // Solve the normal equations.
@@ -186,8 +154,17 @@
   // Update the transfer function.
   fn->fA += step.fData[0];
   fn->fB += step.fData[1];
-  fn->fE += step.fData[2];
-  fn->fG += step.fData[3];
+  fn->fG += step.fData[2];
+
+  // Clamp fA to the valid range.
+  fn->fA = std::max(fn->fA, 0.f);
+
+  // Shift fB to ensure that fA+fB > 0.
+  if (fn->fA + fn->fB < 0.f)
+    fn->fB = -fn->fA;
+
+  // Compute fE such that 1 maps to 1.
+  fn->fE = 1.f - std::pow(fn->fA + fn->fB, fn->fG);
   return true;
 }
 
@@ -238,12 +215,10 @@
   return true;
 }
 
-void SkApproximateTransferFnInternal(const float* x,
+bool SkApproximateTransferFnInternal(const float* x,
                                      const float* t,
                                      size_t n,
-                                     SkColorSpaceTransferFn* fn,
-                                     float* error,
-                                     bool* nonlinear_fit_converged) {
+                                     SkColorSpaceTransferFn* fn) {
   // First, guess at a value of fD. Assume that the nonlinear segment applies
   // to all x >= 0.1. This is generally a safe assumption (fD is usually less
   // than 0.1).
@@ -251,10 +226,10 @@
 
   // Do a nonlinear regression on the nonlinear segment. Use a number of guesses
   // for the initial value of fG, because not all values will converge.
-  *nonlinear_fit_converged = false;
+  bool nonlinear_fit_converged = false;
   {
     const size_t kNumInitialGammas = 4;
-    float initial_gammas[kNumInitialGammas] = {1.f, 2.f, 3.f, 0.5f};
+    float initial_gammas[kNumInitialGammas] = {2.f, 1.f, 3.f, 0.5f};
     for (size_t i = 0; i < kNumInitialGammas; ++i) {
       fn->fG = initial_gammas[i];
       fn->fA = 1;
@@ -263,15 +238,17 @@
       fn->fE = 0;
       fn->fF = 0;
       if (SkTransferFnSolveNonlinear(fn, x, t, n)) {
-        *nonlinear_fit_converged = true;
+        nonlinear_fit_converged = true;
         break;
       }
     }
   }
+  if (!nonlinear_fit_converged)
+    return false;
 
   // Now walk back fD from our initial guess to the point where our nonlinear
   // fit no longer fits (or all the way to 0 if it fits).
-  if (*nonlinear_fit_converged) {
+  {
     // Find the L-infinity error of this nonlinear fit (using our old fD value).
     float max_error_in_nonlinear_fit = 0;
     for (size_t i = 0; i < n; ++i) {
@@ -311,33 +288,11 @@
       if (x[i] > max_x_where_nonlinear_does_not_fit)
         fn->fD = std::min(fn->fD, x[i]);
     }
-  } else {
-    // If the nonlinear fit didn't converge, then try a linear fit on the full
-    // range. Note that fD must be strictly greater than 1 because the nonlinear
-    // segment starts at fD.
-    const float kEpsilon = 1.f / 256.f;
-    fn->fD = 1.f + kEpsilon;
   }
 
   // Compute the linear segment, now that we have our definitive fD.
   SkTransferFnSolveLinear(fn, x, t, n);
-
-  // If the nonlinear fit didn't converge, re-express the linear fit in
-  // canonical form as a nonlinear fit with fG as 1.
-  if (!*nonlinear_fit_converged) {
-    fn->fA = fn->fC;
-    fn->fB = fn->fF;
-    fn->fC = 1;
-    fn->fD = 0;
-    fn->fE = 0;
-    fn->fF = 0;
-    fn->fG = 1;
-  }
-
-  // Return the L-infinity error of the total approximation.
-  *error = 0.f;
-  for (size_t i = 0; i < n; ++i)
-    *error = std::max(*error, std::abs(t[i] - SkTransferFnEval(*fn, x[i])));
+  return true;
 }
 
 }  // namespace
@@ -391,13 +346,20 @@
   return true;
 }
 
-void SkApproximateTransferFn(const float* x,
+bool SkApproximateTransferFn(const float* x,
                              const float* t,
                              size_t n,
-                             SkColorSpaceTransferFn* fn,
-                             float* error,
-                             bool* nonlinear_fit_converged) {
-  SkApproximateTransferFnInternal(x, t, n, fn, error, nonlinear_fit_converged);
+                             SkColorSpaceTransferFn* fn) {
+  if (SkApproximateTransferFnInternal(x, t, n, fn))
+    return true;
+  fn->fA = 1;
+  fn->fB = 0;
+  fn->fC = 1;
+  fn->fD = 0;
+  fn->fE = 0;
+  fn->fF = 0;
+  fn->fG = 1;
+  return false;
 }
 
 bool SkMatrixIsApproximatelyIdentity(const SkMatrix44& m) {
diff --git a/ui/gfx/skia_color_space_util.h b/ui/gfx/skia_color_space_util.h
index 14bdab1..f22b040 100644
--- a/ui/gfx/skia_color_space_util.h
+++ b/ui/gfx/skia_color_space_util.h
@@ -22,12 +22,12 @@
 bool GFX_EXPORT
 SkTransferFnIsApproximatelyIdentity(const SkColorSpaceTransferFn& fn);
 
-void GFX_EXPORT SkApproximateTransferFn(const float* x,
+// Approximates the |n| points in |x| and |t| by the transfer function |fn|.
+// Returns true if the approximation converged.
+bool GFX_EXPORT SkApproximateTransferFn(const float* x,
                                         const float* t,
                                         size_t n,
-                                        SkColorSpaceTransferFn* fn,
-                                        float* error,
-                                        bool* nonlinear_fit_converged);
+                                        SkColorSpaceTransferFn* fn);
 
 bool GFX_EXPORT SkMatrixIsApproximatelyIdentity(const SkMatrix44& m);