diff --git a/DEPS b/DEPS index 8583859f..dd8be78 100644 --- a/DEPS +++ b/DEPS
@@ -40,7 +40,7 @@ # 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': '8d80bb5f20d899fb7da58b0be0c1218db420891a', + 'skia_revision': 'e4ca362259a36458cce94a5e643a11306037e8d6', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # 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': 'd805eec52f6ac574918748c4270873e7e5cde596', + 'pdfium_revision': 'e8b0281d1342cba6bb1d2f056e014df54b830459', # 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. @@ -270,7 +270,7 @@ Var('chromium_git') + '/external/github.com/CLD2Owners/cld2.git' + '@' + '84b58a5d7690ebf05a91406f371ce00c3daf31c0', 'src/third_party/cld_3/src': - Var('chromium_git') + '/external/github.com/google/cld_3.git' + '@' + 'c03368eff92acc56756df2d4cd74a01a674409ea', + Var('chromium_git') + '/external/github.com/google/cld_3.git' + '@' + 'ae02d6b8a2af41e87c956c7c7d3f651a8b7b9e79', 'src/third_party/libwebm/source': Var('chromium_git') + '/webm/libwebm.git' + '@' + '9a235e0bc94319c5f7184bd69cbe5468a74a025c',
diff --git a/ash/BUILD.gn b/ash/BUILD.gn index 65bce94..0f5dfc89 100644 --- a/ash/BUILD.gn +++ b/ash/BUILD.gn
@@ -595,7 +595,6 @@ "common/wm_layout_manager.h", "common/wm_lookup.cc", "common/wm_lookup.h", - "common/wm_root_window_controller.cc", "common/wm_shell.cc", "common/wm_shell.h", "common/wm_transient_window_observer.h",
diff --git a/ash/common/wm_root_window_controller.cc b/ash/common/wm_root_window_controller.cc deleted file mode 100644 index 35767001..0000000 --- a/ash/common/wm_root_window_controller.cc +++ /dev/null
@@ -1,641 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "ash/root_window_controller.h" - -#include "ash/aura/wm_window_aura.h" -#include "ash/common/session/session_state_delegate.h" -#include "ash/common/shelf/shelf_layout_manager.h" -#include "ash/common/shelf/shelf_widget.h" -#include "ash/common/shelf/wm_shelf.h" -#include "ash/common/shell_delegate.h" -#include "ash/common/system/status_area_widget.h" -#include "ash/common/wallpaper/wallpaper_delegate.h" -#include "ash/common/wallpaper/wallpaper_widget_controller.h" -#include "ash/common/wm/always_on_top_controller.h" -#include "ash/common/wm/container_finder.h" -#include "ash/common/wm/dock/docked_window_layout_manager.h" -#include "ash/common/wm/lock_layout_manager.h" -#include "ash/common/wm/panels/panel_layout_manager.h" -#include "ash/common/wm/root_window_layout_manager.h" -#include "ash/common/wm/system_modal_container_layout_manager.h" -#include "ash/common/wm/window_state.h" -#include "ash/common/wm/wm_snap_to_pixel_layout_manager.h" -#include "ash/common/wm/workspace/workspace_layout_manager.h" -#include "ash/common/wm/workspace_controller.h" -#include "ash/common/wm_shell.h" -#include "ash/common/wm_window.h" -#include "ash/public/cpp/shell_window_ids.h" -#include "ash/root_window_controller.h" -#include "ash/shell.h" -#include "base/memory/ptr_util.h" -#include "ui/aura/env.h" -#include "ui/aura/mus/window_mus.h" -#include "ui/aura/mus/window_tree_client.h" -#include "ui/aura/window.h" -#include "ui/aura/window_event_dispatcher.h" -#include "ui/aura/window_tree_host.h" -#include "ui/base/models/menu_model.h" -#include "ui/events/event_targeter.h" -#include "ui/events/event_utils.h" -#include "ui/views/controls/menu/menu_model_adapter.h" -#include "ui/views/controls/menu/menu_runner.h" -#include "ui/wm/core/coordinate_conversion.h" - -// TODO(sky): this file is temporary and here to make review easier. The -// contents of this file will be folded into root_window_controller.cc shortly. -namespace ash { -namespace { - -// Scales |value| that is originally between 0 and |src_max| to be between -// 0 and |dst_max|. -float ToRelativeValue(int value, int src_max, int dst_max) { - return static_cast<float>(value) / static_cast<float>(src_max) * dst_max; -} - -// Uses ToRelativeValue() to scale the origin of |bounds_in_out|. The -// width/height are not changed. -void MoveOriginRelativeToSize(const gfx::Size& src_size, - const gfx::Size& dst_size, - gfx::Rect* bounds_in_out) { - gfx::Point origin = bounds_in_out->origin(); - bounds_in_out->set_origin(gfx::Point( - ToRelativeValue(origin.x(), src_size.width(), dst_size.width()), - ToRelativeValue(origin.y(), src_size.height(), dst_size.height()))); -} - -// Reparents |window| to |new_parent|. -// TODO(sky): This should take an aura::Window. http://crbug.com/671246. -void ReparentWindow(WmWindow* window, WmWindow* new_parent) { - const gfx::Size src_size = window->GetParent()->GetBounds().size(); - const gfx::Size dst_size = new_parent->GetBounds().size(); - // Update the restore bounds to make it relative to the display. - wm::WindowState* state = window->GetWindowState(); - gfx::Rect restore_bounds; - bool has_restore_bounds = state->HasRestoreBounds(); - - bool update_bounds = - (state->IsNormalOrSnapped() || state->IsMinimized()) && - new_parent->GetShellWindowId() != kShellWindowId_DockedContainer; - gfx::Rect local_bounds; - if (update_bounds) { - local_bounds = state->window()->GetBounds(); - MoveOriginRelativeToSize(src_size, dst_size, &local_bounds); - } - - if (has_restore_bounds) { - restore_bounds = state->GetRestoreBoundsInParent(); - MoveOriginRelativeToSize(src_size, dst_size, &restore_bounds); - } - - new_parent->AddChild(window); - - // Docked windows have bounds handled by the layout manager in AddChild(). - if (update_bounds) - window->SetBounds(local_bounds); - - if (has_restore_bounds) - state->SetRestoreBoundsInParent(restore_bounds); -} - -// Reparents the appropriate set of windows from |src| to |dst|. -// TODO(sky): This should take an aura::Window. http://crbug.com/671246. -void ReparentAllWindows(WmWindow* src, WmWindow* dst) { - // Set of windows to move. - const int kContainerIdsToMove[] = { - kShellWindowId_DefaultContainer, - kShellWindowId_DockedContainer, - kShellWindowId_PanelContainer, - kShellWindowId_AlwaysOnTopContainer, - kShellWindowId_SystemModalContainer, - kShellWindowId_LockSystemModalContainer, - kShellWindowId_UnparentedControlContainer, - kShellWindowId_OverlayContainer, - }; - const int kExtraContainerIdsToMoveInUnifiedMode[] = { - kShellWindowId_LockScreenContainer, - kShellWindowId_LockScreenWallpaperContainer, - }; - std::vector<int> container_ids( - kContainerIdsToMove, - kContainerIdsToMove + arraysize(kContainerIdsToMove)); - // Check the display mode as this is also necessary when trasitioning between - // mirror and unified mode. - if (WmShell::Get()->IsInUnifiedModeIgnoreMirroring()) { - for (int id : kExtraContainerIdsToMoveInUnifiedMode) - container_ids.push_back(id); - } - - for (int id : container_ids) { - WmWindow* src_container = src->GetChildByShellWindowId(id); - WmWindow* dst_container = dst->GetChildByShellWindowId(id); - while (!src_container->GetChildren().empty()) { - // Restart iteration from the source container windows each time as they - // may change as a result of moving other windows. - WmWindow::Windows src_container_children = src_container->GetChildren(); - WmWindow::Windows::const_iterator iter = src_container_children.begin(); - while (iter != src_container_children.end() && - SystemModalContainerLayoutManager::IsModalBackground(*iter)) { - ++iter; - } - // If the entire window list is modal background windows then stop. - if (iter == src_container_children.end()) - break; - ReparentWindow(*iter, dst_container); - } - } -} - -// Creates a new window for use as a container. -// TODO(sky): This should create an aura::Window. http://crbug.com/671246. -WmWindow* CreateContainer(int window_id, const char* name, WmWindow* parent) { - WmWindow* window = WmShell::Get()->NewWindow(ui::wm::WINDOW_TYPE_UNKNOWN, - ui::LAYER_NOT_DRAWN); - window->SetShellWindowId(window_id); - window->SetName(name); - parent->AddChild(window); - if (window_id != kShellWindowId_UnparentedControlContainer) - window->Show(); - return window; -} - -// TODO(sky): This should take an aura::Window. http://crbug.com/671246. -bool ShouldDestroyWindowInCloseChildWindows(WmWindow* window) { - if (!WmWindowAura::GetAuraWindow(window)->owned_by_parent()) - return false; - - if (!WmShell::Get()->IsRunningInMash()) - return true; - - aura::WindowMus* window_mus = - aura::WindowMus::Get(WmWindowAura::GetAuraWindow(window)); - return Shell::window_tree_client()->WasCreatedByThisClient(window_mus) || - Shell::window_tree_client()->IsRoot(window_mus); -} - -} // namespace - -void RootWindowController::SetWallpaperWidgetController( - WallpaperWidgetController* controller) { - wallpaper_widget_controller_.reset(controller); -} - -void RootWindowController::SetAnimatingWallpaperWidgetController( - AnimatingWallpaperWidgetController* controller) { - if (animating_wallpaper_widget_controller_.get()) - animating_wallpaper_widget_controller_->StopAnimating(); - animating_wallpaper_widget_controller_.reset(controller); -} - -wm::WorkspaceWindowState RootWindowController::GetWorkspaceWindowState() { - return workspace_controller_ ? workspace_controller()->GetWindowState() - : wm::WORKSPACE_WINDOW_STATE_DEFAULT; -} - -SystemModalContainerLayoutManager* -RootWindowController::GetSystemModalLayoutManager(WmWindow* window) { - WmWindow* modal_container = nullptr; - if (window) { - WmWindow* window_container = wm::GetContainerForWindow(window); - if (window_container && - window_container->GetShellWindowId() >= - kShellWindowId_LockScreenContainer) { - modal_container = GetWmContainer(kShellWindowId_LockSystemModalContainer); - } else { - modal_container = GetWmContainer(kShellWindowId_SystemModalContainer); - } - } else { - int modal_window_id = - WmShell::Get()->GetSessionStateDelegate()->IsUserSessionBlocked() - ? kShellWindowId_LockSystemModalContainer - : kShellWindowId_SystemModalContainer; - modal_container = GetWmContainer(modal_window_id); - } - return modal_container ? static_cast<SystemModalContainerLayoutManager*>( - modal_container->GetLayoutManager()) - : nullptr; -} - -bool RootWindowController::HasShelf() { - return wm_shelf_->shelf_widget() != nullptr; -} - -WmShelf* RootWindowController::GetShelf() { - return wm_shelf_.get(); -} - -void RootWindowController::CreateShelf() { - if (wm_shelf_->IsShelfInitialized()) - return; - wm_shelf_->InitializeShelf(); - - if (panel_layout_manager_) - panel_layout_manager_->SetShelf(wm_shelf_.get()); - if (docked_window_layout_manager_) { - docked_window_layout_manager_->SetShelf(wm_shelf_.get()); - if (wm_shelf_->shelf_layout_manager()) - docked_window_layout_manager_->AddObserver( - wm_shelf_->shelf_layout_manager()); - } - - // Notify shell observers that the shelf has been created. - // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will - // require changing AttachedPanelWidgetTargeter's access to WmShelf. - WmShell::Get()->NotifyShelfCreatedForRootWindow( - WmWindowAura::Get(GetRootWindow())); - - wm_shelf_->shelf_widget()->PostCreateShelf(); -} - -void RootWindowController::ShowShelf() { - if (!wm_shelf_->IsShelfInitialized()) - return; - // TODO(jamescook): Move this into WmShelf. - wm_shelf_->shelf_widget()->SetShelfVisibility(true); - wm_shelf_->shelf_widget()->status_area_widget()->Show(); -} - -const WmWindow* RootWindowController::GetWindow() const { - return WmWindowAura::Get(GetRootWindow()); -} - -const WmWindow* RootWindowController::GetWmContainer(int container_id) const { - const aura::Window* window = GetContainer(container_id); - return WmWindowAura::Get(window); -} - -void RootWindowController::ConfigureWidgetInitParamsForContainer( - views::Widget* widget, - int shell_container_id, - views::Widget::InitParams* init_params) { - init_params->parent = GetContainer(shell_container_id); -} - -WmWindow* RootWindowController::FindEventTarget( - const gfx::Point& location_in_screen) { - gfx::Point location_in_root(location_in_screen); - aura::Window* root_window = GetRootWindow(); - ::wm::ConvertPointFromScreen(root_window, &location_in_root); - ui::MouseEvent test_event(ui::ET_MOUSE_MOVED, location_in_root, - location_in_root, ui::EventTimeForNow(), - ui::EF_NONE, ui::EF_NONE); - ui::EventTarget* event_handler = - static_cast<ui::EventTarget*>(root_window) - ->GetEventTargeter() - ->FindTargetForEvent(root_window, &test_event); - return WmWindowAura::Get(static_cast<aura::Window*>(event_handler)); -} - -gfx::Point RootWindowController::GetLastMouseLocationInRoot() { - return window_tree_host_->dispatcher()->GetLastMouseLocationInRoot(); -} - -void RootWindowController::ShowContextMenu(const gfx::Point& location_in_screen, - ui::MenuSourceType source_type) { - ShellDelegate* delegate = WmShell::Get()->delegate(); - DCHECK(delegate); - menu_model_.reset(delegate->CreateContextMenu(wm_shelf_.get(), nullptr)); - if (!menu_model_) - return; - - menu_model_adapter_ = base::MakeUnique<views::MenuModelAdapter>( - menu_model_.get(), - base::Bind(&RootWindowController::OnMenuClosed, base::Unretained(this))); - - // The wallpaper controller may not be set yet if the user clicked on the - // status area before the initial animation completion. See crbug.com/222218 - if (!wallpaper_widget_controller()) - return; - - menu_runner_ = base::MakeUnique<views::MenuRunner>( - menu_model_adapter_->CreateMenu(), - views::MenuRunner::CONTEXT_MENU | views::MenuRunner::ASYNC); - ignore_result( - menu_runner_->RunMenuAt(wallpaper_widget_controller()->widget(), nullptr, - gfx::Rect(location_in_screen, gfx::Size()), - views::MENU_ANCHOR_TOPLEFT, source_type)); -} - -void RootWindowController::UpdateAfterLoginStatusChange(LoginStatus status) { - StatusAreaWidget* status_area_widget = - wm_shelf_->shelf_widget()->status_area_widget(); - if (status_area_widget) - status_area_widget->UpdateAfterLoginStatusChange(status); -} - -void RootWindowController::MoveWindowsTo(aura::Window* dst) { - // Clear the workspace controller, so it doesn't incorrectly update the shelf. - workspace_controller_.reset(); - ReparentAllWindows(GetWindow(), WmWindowAura::Get(dst)); -} - -void RootWindowController::CreateContainers() { - WmWindow* root = GetWindow(); - // These containers are just used by PowerButtonController to animate groups - // of containers simultaneously without messing up the current transformations - // on those containers. These are direct children of the root window; all of - // the other containers are their children. - - // The wallpaper container is not part of the lock animation, so it is not - // included in those animate groups. When the screen is locked, the wallpaper - // is moved to the lock screen wallpaper container (and moved back on unlock). - // Ensure that there's an opaque layer occluding the non-lock-screen layers. - WmWindow* wallpaper_container = CreateContainer( - kShellWindowId_WallpaperContainer, "WallpaperContainer", root); - wallpaper_container->SetChildWindowVisibilityChangesAnimated(); - - WmWindow* non_lock_screen_containers = - CreateContainer(kShellWindowId_NonLockScreenContainersContainer, - "NonLockScreenContainersContainer", root); - // Clip all windows inside this container, as half pixel of the window's - // texture may become visible when the screen is scaled. crbug.com/368591. - non_lock_screen_containers->SetMasksToBounds(true); - - WmWindow* lock_wallpaper_containers = - CreateContainer(kShellWindowId_LockScreenWallpaperContainer, - "LockScreenWallpaperContainer", root); - lock_wallpaper_containers->SetChildWindowVisibilityChangesAnimated(); - - WmWindow* lock_screen_containers = - CreateContainer(kShellWindowId_LockScreenContainersContainer, - "LockScreenContainersContainer", root); - WmWindow* lock_screen_related_containers = - CreateContainer(kShellWindowId_LockScreenRelatedContainersContainer, - "LockScreenRelatedContainersContainer", root); - - CreateContainer(kShellWindowId_UnparentedControlContainer, - "UnparentedControlContainer", non_lock_screen_containers); - - WmWindow* default_container = - CreateContainer(kShellWindowId_DefaultContainer, "DefaultContainer", - non_lock_screen_containers); - default_container->SetChildWindowVisibilityChangesAnimated(); - default_container->SetSnapsChildrenToPhysicalPixelBoundary(); - default_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - default_container->SetChildrenUseExtendedHitRegion(); - - WmWindow* always_on_top_container = - CreateContainer(kShellWindowId_AlwaysOnTopContainer, - "AlwaysOnTopContainer", non_lock_screen_containers); - always_on_top_container->SetChildWindowVisibilityChangesAnimated(); - always_on_top_container->SetSnapsChildrenToPhysicalPixelBoundary(); - always_on_top_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - - WmWindow* docked_container = - CreateContainer(kShellWindowId_DockedContainer, "DockedContainer", - non_lock_screen_containers); - docked_container->SetChildWindowVisibilityChangesAnimated(); - docked_container->SetSnapsChildrenToPhysicalPixelBoundary(); - docked_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - docked_container->SetChildrenUseExtendedHitRegion(); - - WmWindow* shelf_container = - CreateContainer(kShellWindowId_ShelfContainer, "ShelfContainer", - non_lock_screen_containers); - shelf_container->SetSnapsChildrenToPhysicalPixelBoundary(); - shelf_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - shelf_container->SetLockedToRoot(true); - - WmWindow* panel_container = - CreateContainer(kShellWindowId_PanelContainer, "PanelContainer", - non_lock_screen_containers); - panel_container->SetSnapsChildrenToPhysicalPixelBoundary(); - panel_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - - WmWindow* shelf_bubble_container = - CreateContainer(kShellWindowId_ShelfBubbleContainer, - "ShelfBubbleContainer", non_lock_screen_containers); - shelf_bubble_container->SetSnapsChildrenToPhysicalPixelBoundary(); - shelf_bubble_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - shelf_bubble_container->SetLockedToRoot(true); - - WmWindow* app_list_container = - CreateContainer(kShellWindowId_AppListContainer, "AppListContainer", - non_lock_screen_containers); - app_list_container->SetSnapsChildrenToPhysicalPixelBoundary(); - app_list_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - - WmWindow* modal_container = - CreateContainer(kShellWindowId_SystemModalContainer, - "SystemModalContainer", non_lock_screen_containers); - modal_container->SetSnapsChildrenToPhysicalPixelBoundary(); - modal_container->SetChildWindowVisibilityChangesAnimated(); - modal_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - modal_container->SetChildrenUseExtendedHitRegion(); - - // TODO(beng): Figure out if we can make this use - // SystemModalContainerEventFilter instead of stops_event_propagation. - WmWindow* lock_container = - CreateContainer(kShellWindowId_LockScreenContainer, "LockScreenContainer", - lock_screen_containers); - lock_container->SetSnapsChildrenToPhysicalPixelBoundary(); - lock_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - // TODO(beng): stopsevents - - WmWindow* lock_modal_container = - CreateContainer(kShellWindowId_LockSystemModalContainer, - "LockSystemModalContainer", lock_screen_containers); - lock_modal_container->SetSnapsChildrenToPhysicalPixelBoundary(); - lock_modal_container->SetChildWindowVisibilityChangesAnimated(); - lock_modal_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - lock_modal_container->SetChildrenUseExtendedHitRegion(); - - WmWindow* status_container = - CreateContainer(kShellWindowId_StatusContainer, "StatusContainer", - lock_screen_related_containers); - status_container->SetSnapsChildrenToPhysicalPixelBoundary(); - status_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - status_container->SetLockedToRoot(true); - - WmWindow* settings_bubble_container = - CreateContainer(kShellWindowId_SettingBubbleContainer, - "SettingBubbleContainer", lock_screen_related_containers); - settings_bubble_container->SetChildWindowVisibilityChangesAnimated(); - settings_bubble_container->SetSnapsChildrenToPhysicalPixelBoundary(); - settings_bubble_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - settings_bubble_container->SetLockedToRoot(true); - - WmWindow* virtual_keyboard_parent_container = CreateContainer( - kShellWindowId_ImeWindowParentContainer, "VirtualKeyboardParentContainer", - lock_screen_related_containers); - virtual_keyboard_parent_container->SetSnapsChildrenToPhysicalPixelBoundary(); - virtual_keyboard_parent_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - - WmWindow* menu_container = - CreateContainer(kShellWindowId_MenuContainer, "MenuContainer", - lock_screen_related_containers); - menu_container->SetChildWindowVisibilityChangesAnimated(); - menu_container->SetSnapsChildrenToPhysicalPixelBoundary(); - menu_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - - WmWindow* drag_drop_container = CreateContainer( - kShellWindowId_DragImageAndTooltipContainer, - "DragImageAndTooltipContainer", lock_screen_related_containers); - drag_drop_container->SetChildWindowVisibilityChangesAnimated(); - drag_drop_container->SetSnapsChildrenToPhysicalPixelBoundary(); - drag_drop_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - - WmWindow* overlay_container = - CreateContainer(kShellWindowId_OverlayContainer, "OverlayContainer", - lock_screen_related_containers); - overlay_container->SetSnapsChildrenToPhysicalPixelBoundary(); - overlay_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - - WmWindow* mouse_cursor_container = CreateContainer( - kShellWindowId_MouseCursorContainer, "MouseCursorContainer", root); - mouse_cursor_container->SetBoundsInScreenBehaviorForChildren( - WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); - - CreateContainer(kShellWindowId_PowerButtonAnimationContainer, - "PowerButtonAnimationContainer", root); -} - -void RootWindowController::CreateLayoutManagers() { - GetShelf()->CreateShelfWidget(GetWindow()); - - WmWindow* root = GetWindow(); - root_window_layout_manager_ = new wm::RootWindowLayoutManager(root); - root->SetLayoutManager(base::WrapUnique(root_window_layout_manager_)); - - WmWindow* default_container = GetWmContainer(kShellWindowId_DefaultContainer); - // Installs WorkspaceLayoutManager on |default_container|. - workspace_controller_.reset(new WorkspaceController(default_container)); - - WmWindow* modal_container = - GetWmContainer(kShellWindowId_SystemModalContainer); - DCHECK(modal_container); - modal_container->SetLayoutManager( - base::MakeUnique<SystemModalContainerLayoutManager>(modal_container)); - - WmWindow* lock_modal_container = - GetWmContainer(kShellWindowId_LockSystemModalContainer); - DCHECK(lock_modal_container); - lock_modal_container->SetLayoutManager( - base::MakeUnique<SystemModalContainerLayoutManager>( - lock_modal_container)); - - WmWindow* lock_container = GetWmContainer(kShellWindowId_LockScreenContainer); - DCHECK(lock_container); - lock_container->SetLayoutManager( - base::MakeUnique<LockLayoutManager>(lock_container)); - - WmWindow* always_on_top_container = - GetWmContainer(kShellWindowId_AlwaysOnTopContainer); - DCHECK(always_on_top_container); - always_on_top_controller_ = - base::MakeUnique<AlwaysOnTopController>(always_on_top_container); - - // Create Docked windows layout manager - WmWindow* docked_container = GetWmContainer(kShellWindowId_DockedContainer); - docked_window_layout_manager_ = - new DockedWindowLayoutManager(docked_container); - docked_container->SetLayoutManager( - base::WrapUnique(docked_window_layout_manager_)); - - // Create Panel layout manager - WmWindow* panel_container = GetWmContainer(kShellWindowId_PanelContainer); - panel_layout_manager_ = new PanelLayoutManager(panel_container); - panel_container->SetLayoutManager(base::WrapUnique(panel_layout_manager_)); - - wm::WmSnapToPixelLayoutManager::InstallOnContainers(root); -} - -void RootWindowController::ResetRootForNewWindowsIfNecessary() { - WmShell* shell = WmShell::Get(); - // Change the target root window before closing child windows. If any child - // being removed triggers a relayout of the shelf it will try to build a - // window list adding windows from the target root window's containers which - // may have already gone away. - WmWindow* root = GetWindow(); - if (shell->GetRootWindowForNewWindows() == root) { - // The root window for new windows is being destroyed. Switch to the primary - // root window if possible. - WmWindow* primary_root = shell->GetPrimaryRootWindow(); - shell->set_root_window_for_new_windows(primary_root == root ? nullptr - : primary_root); - } -} - -// TODO(sky): fold into CloseChildWindows() when move back. -void RootWindowController::CloseChildWindowsImpl() { - // NOTE: this may be called multiple times. - - // |panel_layout_manager_| needs to be shut down before windows are destroyed. - if (panel_layout_manager_) { - panel_layout_manager_->Shutdown(); - panel_layout_manager_ = nullptr; - } - - // |docked_window_layout_manager_| needs to be shut down before windows are - // destroyed. - if (docked_window_layout_manager_) { - docked_window_layout_manager_->Shutdown(); - docked_window_layout_manager_ = nullptr; - } - - WmShelf* shelf = GetShelf(); - shelf->ShutdownShelfWidget(); - - workspace_controller_.reset(); - - // Explicitly destroy top level windows. We do this because such windows may - // query the RootWindow for state. - WmWindowTracker non_toplevel_windows; - WmWindow* root = GetWindow(); - non_toplevel_windows.Add(root); - while (!non_toplevel_windows.windows().empty()) { - WmWindow* non_toplevel_window = non_toplevel_windows.Pop(); - WmWindowTracker toplevel_windows; - for (WmWindow* child : non_toplevel_window->GetChildren()) { - if (!ShouldDestroyWindowInCloseChildWindows(child)) - continue; - if (child->HasNonClientArea()) - toplevel_windows.Add(child); - else - non_toplevel_windows.Add(child); - } - while (!toplevel_windows.windows().empty()) - toplevel_windows.Pop()->Destroy(); - } - // And then remove the containers. - while (!root->GetChildren().empty()) { - WmWindow* child = root->GetChildren()[0]; - if (ShouldDestroyWindowInCloseChildWindows(child)) - child->Destroy(); - else - root->RemoveChild(child); - } - - shelf->DestroyShelfWidget(); - - // CloseChildWindows() may be called twice during the shutdown of ash - // unittests. Avoid notifying WmShelf that the shelf has been destroyed twice. - if (shelf->IsShelfInitialized()) - shelf->ShutdownShelf(); -} - -void RootWindowController::OnMenuClosed() { - menu_runner_.reset(); - menu_model_adapter_.reset(); - menu_model_.reset(); - wm_shelf_->UpdateVisibilityState(); -} - -} // namespace ash
diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc index 57193be..2eb1dbf9 100644 --- a/ash/root_window_controller.cc +++ b/ash/root_window_controller.cc
@@ -144,6 +144,132 @@ return true; } +// Scales |value| that is originally between 0 and |src_max| to be between +// 0 and |dst_max|. +float ToRelativeValue(int value, int src_max, int dst_max) { + return static_cast<float>(value) / static_cast<float>(src_max) * dst_max; +} + +// Uses ToRelativeValue() to scale the origin of |bounds_in_out|. The +// width/height are not changed. +void MoveOriginRelativeToSize(const gfx::Size& src_size, + const gfx::Size& dst_size, + gfx::Rect* bounds_in_out) { + gfx::Point origin = bounds_in_out->origin(); + bounds_in_out->set_origin(gfx::Point( + ToRelativeValue(origin.x(), src_size.width(), dst_size.width()), + ToRelativeValue(origin.y(), src_size.height(), dst_size.height()))); +} + +// Reparents |window| to |new_parent|. +// TODO(sky): This should take an aura::Window. http://crbug.com/671246. +void ReparentWindow(WmWindow* window, WmWindow* new_parent) { + const gfx::Size src_size = window->GetParent()->GetBounds().size(); + const gfx::Size dst_size = new_parent->GetBounds().size(); + // Update the restore bounds to make it relative to the display. + wm::WindowState* state = window->GetWindowState(); + gfx::Rect restore_bounds; + bool has_restore_bounds = state->HasRestoreBounds(); + + bool update_bounds = + (state->IsNormalOrSnapped() || state->IsMinimized()) && + new_parent->GetShellWindowId() != kShellWindowId_DockedContainer; + gfx::Rect local_bounds; + if (update_bounds) { + local_bounds = state->window()->GetBounds(); + MoveOriginRelativeToSize(src_size, dst_size, &local_bounds); + } + + if (has_restore_bounds) { + restore_bounds = state->GetRestoreBoundsInParent(); + MoveOriginRelativeToSize(src_size, dst_size, &restore_bounds); + } + + new_parent->AddChild(window); + + // Docked windows have bounds handled by the layout manager in AddChild(). + if (update_bounds) + window->SetBounds(local_bounds); + + if (has_restore_bounds) + state->SetRestoreBoundsInParent(restore_bounds); +} + +// Reparents the appropriate set of windows from |src| to |dst|. +// TODO(sky): This should take an aura::Window. http://crbug.com/671246. +void ReparentAllWindows(WmWindow* src, WmWindow* dst) { + // Set of windows to move. + const int kContainerIdsToMove[] = { + kShellWindowId_DefaultContainer, + kShellWindowId_DockedContainer, + kShellWindowId_PanelContainer, + kShellWindowId_AlwaysOnTopContainer, + kShellWindowId_SystemModalContainer, + kShellWindowId_LockSystemModalContainer, + kShellWindowId_UnparentedControlContainer, + kShellWindowId_OverlayContainer, + }; + const int kExtraContainerIdsToMoveInUnifiedMode[] = { + kShellWindowId_LockScreenContainer, + kShellWindowId_LockScreenWallpaperContainer, + }; + std::vector<int> container_ids( + kContainerIdsToMove, + kContainerIdsToMove + arraysize(kContainerIdsToMove)); + // Check the display mode as this is also necessary when trasitioning between + // mirror and unified mode. + if (WmShell::Get()->IsInUnifiedModeIgnoreMirroring()) { + for (int id : kExtraContainerIdsToMoveInUnifiedMode) + container_ids.push_back(id); + } + + for (int id : container_ids) { + WmWindow* src_container = src->GetChildByShellWindowId(id); + WmWindow* dst_container = dst->GetChildByShellWindowId(id); + while (!src_container->GetChildren().empty()) { + // Restart iteration from the source container windows each time as they + // may change as a result of moving other windows. + WmWindow::Windows src_container_children = src_container->GetChildren(); + WmWindow::Windows::const_iterator iter = src_container_children.begin(); + while (iter != src_container_children.end() && + SystemModalContainerLayoutManager::IsModalBackground(*iter)) { + ++iter; + } + // If the entire window list is modal background windows then stop. + if (iter == src_container_children.end()) + break; + ReparentWindow(*iter, dst_container); + } + } +} + +// Creates a new window for use as a container. +// TODO(sky): This should create an aura::Window. http://crbug.com/671246. +WmWindow* CreateContainer(int window_id, const char* name, WmWindow* parent) { + WmWindow* window = WmShell::Get()->NewWindow(ui::wm::WINDOW_TYPE_UNKNOWN, + ui::LAYER_NOT_DRAWN); + window->SetShellWindowId(window_id); + window->SetName(name); + parent->AddChild(window); + if (window_id != kShellWindowId_UnparentedControlContainer) + window->Show(); + return window; +} + +// TODO(sky): This should take an aura::Window. http://crbug.com/671246. +bool ShouldDestroyWindowInCloseChildWindows(WmWindow* window) { + if (!WmWindowAura::GetAuraWindow(window)->owned_by_parent()) + return false; + + if (!WmShell::Get()->IsRunningInMash()) + return true; + + aura::WindowMus* window_mus = + aura::WindowMus::Get(WmWindowAura::GetAuraWindow(window)); + return Shell::window_tree_client()->WasCreatedByThisClient(window_mus) || + Shell::window_tree_client()->IsRoot(window_mus); +} + } // namespace RootWindowController::~RootWindowController() { @@ -182,6 +308,13 @@ return GetRootWindowController(Shell::GetTargetRootWindow()); } +void RootWindowController::ConfigureWidgetInitParamsForContainer( + views::Widget* widget, + int shell_container_id, + views::Widget::InitParams* init_params) { + init_params->parent = GetContainer(shell_container_id); +} + aura::WindowTreeHost* RootWindowController::GetHost() { return window_tree_host_; } @@ -198,24 +331,92 @@ return GetHost()->window(); } -void RootWindowController::Shutdown() { - WmShell::Get()->RemoveShellObserver(this); +const WmWindow* RootWindowController::GetWindow() const { + return WmWindowAura::Get(GetRootWindow()); +} - touch_exploration_manager_.reset(); +wm::WorkspaceWindowState RootWindowController::GetWorkspaceWindowState() { + return workspace_controller_ ? workspace_controller()->GetWindowState() + : wm::WORKSPACE_WINDOW_STATE_DEFAULT; +} - ResetRootForNewWindowsIfNecessary(); +bool RootWindowController::HasShelf() { + return wm_shelf_->shelf_widget() != nullptr; +} - CloseChildWindows(); - aura::Window* root_window = GetRootWindow(); - GetRootWindowSettings(root_window)->controller = NULL; - // Forget with the display ID so that display lookup - // ends up with invalid display. - GetRootWindowSettings(root_window)->display_id = display::kInvalidDisplayId; - if (ash_host_) - ash_host_->PrepareForShutdown(); +WmShelf* RootWindowController::GetShelf() { + return wm_shelf_.get(); +} - system_wallpaper_.reset(); - aura::client::SetScreenPositionClient(root_window, NULL); +void RootWindowController::CreateShelf() { + if (wm_shelf_->IsShelfInitialized()) + return; + wm_shelf_->InitializeShelf(); + + if (panel_layout_manager_) + panel_layout_manager_->SetShelf(wm_shelf_.get()); + if (docked_window_layout_manager_) { + docked_window_layout_manager_->SetShelf(wm_shelf_.get()); + if (wm_shelf_->shelf_layout_manager()) + docked_window_layout_manager_->AddObserver( + wm_shelf_->shelf_layout_manager()); + } + + // Notify shell observers that the shelf has been created. + // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will + // require changing AttachedPanelWidgetTargeter's access to WmShelf. + WmShell::Get()->NotifyShelfCreatedForRootWindow( + WmWindowAura::Get(GetRootWindow())); + + wm_shelf_->shelf_widget()->PostCreateShelf(); +} + +void RootWindowController::ShowShelf() { + if (!wm_shelf_->IsShelfInitialized()) + return; + // TODO(jamescook): Move this into WmShelf. + wm_shelf_->shelf_widget()->SetShelfVisibility(true); + wm_shelf_->shelf_widget()->status_area_widget()->Show(); +} + +ShelfLayoutManager* RootWindowController::GetShelfLayoutManager() { + return wm_shelf_->shelf_layout_manager(); +} + +SystemModalContainerLayoutManager* +RootWindowController::GetSystemModalLayoutManager(WmWindow* window) { + WmWindow* modal_container = nullptr; + if (window) { + WmWindow* window_container = wm::GetContainerForWindow(window); + if (window_container && + window_container->GetShellWindowId() >= + kShellWindowId_LockScreenContainer) { + modal_container = GetWmContainer(kShellWindowId_LockSystemModalContainer); + } else { + modal_container = GetWmContainer(kShellWindowId_SystemModalContainer); + } + } else { + int modal_window_id = + WmShell::Get()->GetSessionStateDelegate()->IsUserSessionBlocked() + ? kShellWindowId_LockSystemModalContainer + : kShellWindowId_SystemModalContainer; + modal_container = GetWmContainer(modal_window_id); + } + return modal_container ? static_cast<SystemModalContainerLayoutManager*>( + modal_container->GetLayoutManager()) + : nullptr; +} + +StatusAreaWidget* RootWindowController::GetStatusAreaWidget() { + ShelfWidget* shelf_widget = wm_shelf_->shelf_widget(); + return shelf_widget ? shelf_widget->status_area_widget() : nullptr; +} + +SystemTray* RootWindowController::GetSystemTray() { + // We assume in throughout the code that this will not return NULL. If code + // triggers this for valid reasons, it should test status_area_widget first. + CHECK(wm_shelf_->shelf_widget()->status_area_widget()); + return wm_shelf_->shelf_widget()->status_area_widget()->system_tray(); } bool RootWindowController::CanWindowReceiveEvents(aura::Window* window) { @@ -263,6 +464,25 @@ return true; } +WmWindow* RootWindowController::FindEventTarget( + const gfx::Point& location_in_screen) { + gfx::Point location_in_root(location_in_screen); + aura::Window* root_window = GetRootWindow(); + ::wm::ConvertPointFromScreen(root_window, &location_in_root); + ui::MouseEvent test_event(ui::ET_MOUSE_MOVED, location_in_root, + location_in_root, ui::EventTimeForNow(), + ui::EF_NONE, ui::EF_NONE); + ui::EventTarget* event_handler = + static_cast<ui::EventTarget*>(root_window) + ->GetEventTargeter() + ->FindTargetForEvent(root_window, &test_event); + return WmWindowAura::Get(static_cast<aura::Window*>(event_handler)); +} + +gfx::Point RootWindowController::GetLastMouseLocationInRoot() { + return window_tree_host_->dispatcher()->GetLastMouseLocationInRoot(); +} + aura::Window* RootWindowController::GetContainer(int container_id) { return GetRootWindow()->GetChildById(container_id); } @@ -271,6 +491,23 @@ return window_tree_host_->window()->GetChildById(container_id); } +const WmWindow* RootWindowController::GetWmContainer(int container_id) const { + const aura::Window* window = GetContainer(container_id); + return WmWindowAura::Get(window); +} + +void RootWindowController::SetWallpaperWidgetController( + WallpaperWidgetController* controller) { + wallpaper_widget_controller_.reset(controller); +} + +void RootWindowController::SetAnimatingWallpaperWidgetController( + AnimatingWallpaperWidgetController* controller) { + if (animating_wallpaper_widget_controller_.get()) + animating_wallpaper_widget_controller_->StopAnimating(); + animating_wallpaper_widget_controller_.reset(controller); +} + void RootWindowController::OnInitialWallpaperAnimationStarted() { if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kAshAnimateFromBootSplashScreen) && @@ -299,7 +536,29 @@ } } +void RootWindowController::Shutdown() { + WmShell::Get()->RemoveShellObserver(this); + + touch_exploration_manager_.reset(); + + ResetRootForNewWindowsIfNecessary(); + + CloseChildWindows(); + aura::Window* root_window = GetRootWindow(); + GetRootWindowSettings(root_window)->controller = nullptr; + // Forget with the display ID so that display lookup + // ends up with invalid display. + GetRootWindowSettings(root_window)->display_id = display::kInvalidDisplayId; + if (ash_host_) + ash_host_->PrepareForShutdown(); + + system_wallpaper_.reset(); + aura::client::SetScreenPositionClient(root_window, nullptr); +} + void RootWindowController::CloseChildWindows() { + // NOTE: this may be called multiple times. + // Remove observer as deactivating keyboard causes // docked_window_layout_manager() to fire notifications. if (docked_window_layout_manager() && wm_shelf_->shelf_layout_manager()) { @@ -311,32 +570,84 @@ // down associated layout managers. DeactivateKeyboard(keyboard::KeyboardController::GetInstance()); - CloseChildWindowsImpl(); + // |panel_layout_manager_| needs to be shut down before windows are destroyed. + if (panel_layout_manager_) { + panel_layout_manager_->Shutdown(); + panel_layout_manager_ = nullptr; + } + + // |docked_window_layout_manager_| needs to be shut down before windows are + // destroyed. + if (docked_window_layout_manager_) { + docked_window_layout_manager_->Shutdown(); + docked_window_layout_manager_ = nullptr; + } + + WmShelf* shelf = GetShelf(); + shelf->ShutdownShelfWidget(); + + workspace_controller_.reset(); + + // Explicitly destroy top level windows. We do this because such windows may + // query the RootWindow for state. + WmWindowTracker non_toplevel_windows; + WmWindow* root = GetWindow(); + non_toplevel_windows.Add(root); + while (!non_toplevel_windows.windows().empty()) { + WmWindow* non_toplevel_window = non_toplevel_windows.Pop(); + WmWindowTracker toplevel_windows; + for (WmWindow* child : non_toplevel_window->GetChildren()) { + if (!ShouldDestroyWindowInCloseChildWindows(child)) + continue; + if (child->HasNonClientArea()) + toplevel_windows.Add(child); + else + non_toplevel_windows.Add(child); + } + while (!toplevel_windows.windows().empty()) + toplevel_windows.Pop()->Destroy(); + } + // And then remove the containers. + while (!root->GetChildren().empty()) { + WmWindow* child = root->GetChildren()[0]; + if (ShouldDestroyWindowInCloseChildWindows(child)) + child->Destroy(); + else + root->RemoveChild(child); + } + + shelf->DestroyShelfWidget(); + + // CloseChildWindows() may be called twice during the shutdown of ash + // unittests. Avoid notifying WmShelf that the shelf has been destroyed twice. + if (shelf->IsShelfInitialized()) + shelf->ShutdownShelf(); aura::client::SetDragDropClient(GetRootWindow(), nullptr); aura::client::SetTooltipClient(GetRootWindow(), nullptr); } -ShelfLayoutManager* RootWindowController::GetShelfLayoutManager() { - return wm_shelf_->shelf_layout_manager(); -} - -StatusAreaWidget* RootWindowController::GetStatusAreaWidget() { - ShelfWidget* shelf_widget = wm_shelf_->shelf_widget(); - return shelf_widget ? shelf_widget->status_area_widget() : nullptr; -} - -SystemTray* RootWindowController::GetSystemTray() { - // We assume in throughout the code that this will not return NULL. If code - // triggers this for valid reasons, it should test status_area_widget first. - CHECK(wm_shelf_->shelf_widget()->status_area_widget()); - return wm_shelf_->shelf_widget()->status_area_widget()->system_tray(); +void RootWindowController::MoveWindowsTo(aura::Window* dst) { + // Clear the workspace controller, so it doesn't incorrectly update the shelf. + workspace_controller_.reset(); + ReparentAllWindows(GetWindow(), WmWindowAura::Get(dst)); } void RootWindowController::UpdateShelfVisibility() { wm_shelf_->UpdateVisibilityState(); } +void RootWindowController::InitTouchHuds() { + if (WmShell::Get()->IsRunningInMash()) + return; + + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (command_line->HasSwitch(switches::kAshTouchHud)) + set_touch_hud_debug(new TouchHudDebug(GetRootWindow())); + if (Shell::GetInstance()->is_touch_hud_projection_enabled()) + EnableTouchHudProjection(); +} + aura::Window* RootWindowController::GetWindowForFullscreenMode() { return WmWindowAura::GetAuraWindow( wm::GetWindowForFullscreenMode(WmWindowAura::Get(GetRootWindow()))); @@ -400,6 +711,39 @@ touch_exploration_manager_->SetTouchAccessibilityAnchorPoint(anchor_point); } +void RootWindowController::ShowContextMenu(const gfx::Point& location_in_screen, + ui::MenuSourceType source_type) { + ShellDelegate* delegate = WmShell::Get()->delegate(); + DCHECK(delegate); + menu_model_.reset(delegate->CreateContextMenu(wm_shelf_.get(), nullptr)); + if (!menu_model_) + return; + + menu_model_adapter_ = base::MakeUnique<views::MenuModelAdapter>( + menu_model_.get(), + base::Bind(&RootWindowController::OnMenuClosed, base::Unretained(this))); + + // The wallpaper controller may not be set yet if the user clicked on the + // status area before the initial animation completion. See crbug.com/222218 + if (!wallpaper_widget_controller()) + return; + + menu_runner_ = base::MakeUnique<views::MenuRunner>( + menu_model_adapter_->CreateMenu(), + views::MenuRunner::CONTEXT_MENU | views::MenuRunner::ASYNC); + ignore_result( + menu_runner_->RunMenuAt(wallpaper_widget_controller()->widget(), nullptr, + gfx::Rect(location_in_screen, gfx::Size()), + views::MENU_ANCHOR_TOPLEFT, source_type)); +} + +void RootWindowController::UpdateAfterLoginStatusChange(LoginStatus status) { + StatusAreaWidget* status_area_widget = + wm_shelf_->shelf_widget()->status_area_widget(); + if (status_area_widget) + status_area_widget->UpdateAfterLoginStatusChange(status); +} + //////////////////////////////////////////////////////////////////////////////// // RootWindowController, private: @@ -473,17 +817,62 @@ void RootWindowController::InitLayoutManagers() { // Create the shelf and status area widgets. DCHECK(!wm_shelf_->shelf_widget()); - aura::Window* shelf_container = GetContainer(kShellWindowId_ShelfContainer); - aura::Window* status_container = GetContainer(kShellWindowId_StatusContainer); - WmWindow* wm_shelf_container = WmWindowAura::Get(shelf_container); - WmWindow* wm_status_container = WmWindowAura::Get(status_container); + GetShelf()->CreateShelfWidget(GetWindow()); - CreateLayoutManagers(); + WmWindow* root = GetWindow(); + root_window_layout_manager_ = new wm::RootWindowLayoutManager(root); + root->SetLayoutManager(base::WrapUnique(root_window_layout_manager_)); + + WmWindow* default_container = GetWmContainer(kShellWindowId_DefaultContainer); + // Installs WorkspaceLayoutManager on |default_container|. + workspace_controller_.reset(new WorkspaceController(default_container)); + + WmWindow* modal_container = + GetWmContainer(kShellWindowId_SystemModalContainer); + DCHECK(modal_container); + modal_container->SetLayoutManager( + base::MakeUnique<SystemModalContainerLayoutManager>(modal_container)); + + WmWindow* lock_modal_container = + GetWmContainer(kShellWindowId_LockSystemModalContainer); + DCHECK(lock_modal_container); + lock_modal_container->SetLayoutManager( + base::MakeUnique<SystemModalContainerLayoutManager>( + lock_modal_container)); + + WmWindow* lock_container = GetWmContainer(kShellWindowId_LockScreenContainer); + DCHECK(lock_container); + lock_container->SetLayoutManager( + base::MakeUnique<LockLayoutManager>(lock_container)); + + WmWindow* always_on_top_container = + GetWmContainer(kShellWindowId_AlwaysOnTopContainer); + DCHECK(always_on_top_container); + always_on_top_controller_ = + base::MakeUnique<AlwaysOnTopController>(always_on_top_container); + + // Create Docked windows layout manager + WmWindow* docked_container = GetWmContainer(kShellWindowId_DockedContainer); + docked_window_layout_manager_ = + new DockedWindowLayoutManager(docked_container); + docked_container->SetLayoutManager( + base::WrapUnique(docked_window_layout_manager_)); + + // Create Panel layout manager + WmWindow* wm_panel_container = GetWmContainer(kShellWindowId_PanelContainer); + panel_layout_manager_ = new PanelLayoutManager(wm_panel_container); + wm_panel_container->SetLayoutManager(base::WrapUnique(panel_layout_manager_)); + + wm::WmSnapToPixelLayoutManager::InstallOnContainers(root); // Make it easier to resize windows that partially overlap the shelf. Must // occur after the ShelfLayoutManager is constructed by ShelfWidget. + aura::Window* shelf_container = GetContainer(kShellWindowId_ShelfContainer); + WmWindow* wm_shelf_container = WmWindowAura::Get(shelf_container); shelf_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>( wm_shelf_container, wm_shelf_.get())); + aura::Window* status_container = GetContainer(kShellWindowId_StatusContainer); + WmWindow* wm_status_container = WmWindowAura::Get(status_container); status_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>( wm_status_container, wm_shelf_.get())); @@ -504,15 +893,181 @@ touch_extend, panel_layout_manager()))); } -void RootWindowController::InitTouchHuds() { - if (WmShell::Get()->IsRunningInMash()) - return; +void RootWindowController::CreateContainers() { + WmWindow* root = GetWindow(); + // These containers are just used by PowerButtonController to animate groups + // of containers simultaneously without messing up the current transformations + // on those containers. These are direct children of the root window; all of + // the other containers are their children. - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - if (command_line->HasSwitch(switches::kAshTouchHud)) - set_touch_hud_debug(new TouchHudDebug(GetRootWindow())); - if (Shell::GetInstance()->is_touch_hud_projection_enabled()) - EnableTouchHudProjection(); + // The wallpaper container is not part of the lock animation, so it is not + // included in those animate groups. When the screen is locked, the wallpaper + // is moved to the lock screen wallpaper container (and moved back on unlock). + // Ensure that there's an opaque layer occluding the non-lock-screen layers. + WmWindow* wallpaper_container = CreateContainer( + kShellWindowId_WallpaperContainer, "WallpaperContainer", root); + wallpaper_container->SetChildWindowVisibilityChangesAnimated(); + + WmWindow* non_lock_screen_containers = + CreateContainer(kShellWindowId_NonLockScreenContainersContainer, + "NonLockScreenContainersContainer", root); + // Clip all windows inside this container, as half pixel of the window's + // texture may become visible when the screen is scaled. crbug.com/368591. + non_lock_screen_containers->SetMasksToBounds(true); + + WmWindow* lock_wallpaper_containers = + CreateContainer(kShellWindowId_LockScreenWallpaperContainer, + "LockScreenWallpaperContainer", root); + lock_wallpaper_containers->SetChildWindowVisibilityChangesAnimated(); + + WmWindow* lock_screen_containers = + CreateContainer(kShellWindowId_LockScreenContainersContainer, + "LockScreenContainersContainer", root); + WmWindow* lock_screen_related_containers = + CreateContainer(kShellWindowId_LockScreenRelatedContainersContainer, + "LockScreenRelatedContainersContainer", root); + + CreateContainer(kShellWindowId_UnparentedControlContainer, + "UnparentedControlContainer", non_lock_screen_containers); + + WmWindow* default_container = + CreateContainer(kShellWindowId_DefaultContainer, "DefaultContainer", + non_lock_screen_containers); + default_container->SetChildWindowVisibilityChangesAnimated(); + default_container->SetSnapsChildrenToPhysicalPixelBoundary(); + default_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + default_container->SetChildrenUseExtendedHitRegion(); + + WmWindow* always_on_top_container = + CreateContainer(kShellWindowId_AlwaysOnTopContainer, + "AlwaysOnTopContainer", non_lock_screen_containers); + always_on_top_container->SetChildWindowVisibilityChangesAnimated(); + always_on_top_container->SetSnapsChildrenToPhysicalPixelBoundary(); + always_on_top_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + + WmWindow* docked_container = + CreateContainer(kShellWindowId_DockedContainer, "DockedContainer", + non_lock_screen_containers); + docked_container->SetChildWindowVisibilityChangesAnimated(); + docked_container->SetSnapsChildrenToPhysicalPixelBoundary(); + docked_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + docked_container->SetChildrenUseExtendedHitRegion(); + + WmWindow* shelf_container = + CreateContainer(kShellWindowId_ShelfContainer, "ShelfContainer", + non_lock_screen_containers); + shelf_container->SetSnapsChildrenToPhysicalPixelBoundary(); + shelf_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + shelf_container->SetLockedToRoot(true); + + WmWindow* panel_container = + CreateContainer(kShellWindowId_PanelContainer, "PanelContainer", + non_lock_screen_containers); + panel_container->SetSnapsChildrenToPhysicalPixelBoundary(); + panel_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + + WmWindow* shelf_bubble_container = + CreateContainer(kShellWindowId_ShelfBubbleContainer, + "ShelfBubbleContainer", non_lock_screen_containers); + shelf_bubble_container->SetSnapsChildrenToPhysicalPixelBoundary(); + shelf_bubble_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + shelf_bubble_container->SetLockedToRoot(true); + + WmWindow* app_list_container = + CreateContainer(kShellWindowId_AppListContainer, "AppListContainer", + non_lock_screen_containers); + app_list_container->SetSnapsChildrenToPhysicalPixelBoundary(); + app_list_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + + WmWindow* modal_container = + CreateContainer(kShellWindowId_SystemModalContainer, + "SystemModalContainer", non_lock_screen_containers); + modal_container->SetSnapsChildrenToPhysicalPixelBoundary(); + modal_container->SetChildWindowVisibilityChangesAnimated(); + modal_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + modal_container->SetChildrenUseExtendedHitRegion(); + + // TODO(beng): Figure out if we can make this use + // SystemModalContainerEventFilter instead of stops_event_propagation. + WmWindow* lock_container = + CreateContainer(kShellWindowId_LockScreenContainer, "LockScreenContainer", + lock_screen_containers); + lock_container->SetSnapsChildrenToPhysicalPixelBoundary(); + lock_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + // TODO(beng): stopsevents + + WmWindow* lock_modal_container = + CreateContainer(kShellWindowId_LockSystemModalContainer, + "LockSystemModalContainer", lock_screen_containers); + lock_modal_container->SetSnapsChildrenToPhysicalPixelBoundary(); + lock_modal_container->SetChildWindowVisibilityChangesAnimated(); + lock_modal_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + lock_modal_container->SetChildrenUseExtendedHitRegion(); + + WmWindow* status_container = + CreateContainer(kShellWindowId_StatusContainer, "StatusContainer", + lock_screen_related_containers); + status_container->SetSnapsChildrenToPhysicalPixelBoundary(); + status_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + status_container->SetLockedToRoot(true); + + WmWindow* settings_bubble_container = + CreateContainer(kShellWindowId_SettingBubbleContainer, + "SettingBubbleContainer", lock_screen_related_containers); + settings_bubble_container->SetChildWindowVisibilityChangesAnimated(); + settings_bubble_container->SetSnapsChildrenToPhysicalPixelBoundary(); + settings_bubble_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + settings_bubble_container->SetLockedToRoot(true); + + WmWindow* virtual_keyboard_parent_container = CreateContainer( + kShellWindowId_ImeWindowParentContainer, "VirtualKeyboardParentContainer", + lock_screen_related_containers); + virtual_keyboard_parent_container->SetSnapsChildrenToPhysicalPixelBoundary(); + virtual_keyboard_parent_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + + WmWindow* menu_container = + CreateContainer(kShellWindowId_MenuContainer, "MenuContainer", + lock_screen_related_containers); + menu_container->SetChildWindowVisibilityChangesAnimated(); + menu_container->SetSnapsChildrenToPhysicalPixelBoundary(); + menu_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + + WmWindow* drag_drop_container = CreateContainer( + kShellWindowId_DragImageAndTooltipContainer, + "DragImageAndTooltipContainer", lock_screen_related_containers); + drag_drop_container->SetChildWindowVisibilityChangesAnimated(); + drag_drop_container->SetSnapsChildrenToPhysicalPixelBoundary(); + drag_drop_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + + WmWindow* overlay_container = + CreateContainer(kShellWindowId_OverlayContainer, "OverlayContainer", + lock_screen_related_containers); + overlay_container->SetSnapsChildrenToPhysicalPixelBoundary(); + overlay_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + + WmWindow* mouse_cursor_container = CreateContainer( + kShellWindowId_MouseCursorContainer, "MouseCursorContainer", root); + mouse_cursor_container->SetBoundsInScreenBehaviorForChildren( + WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); + + CreateContainer(kShellWindowId_PowerButtonAnimationContainer, + "PowerButtonAnimationContainer", root); } void RootWindowController::CreateSystemWallpaper( @@ -552,6 +1107,29 @@ touch_hud_projection_->Remove(); } +void RootWindowController::ResetRootForNewWindowsIfNecessary() { + WmShell* shell = WmShell::Get(); + // Change the target root window before closing child windows. If any child + // being removed triggers a relayout of the shelf it will try to build a + // window list adding windows from the target root window's containers which + // may have already gone away. + WmWindow* root = GetWindow(); + if (shell->GetRootWindowForNewWindows() == root) { + // The root window for new windows is being destroyed. Switch to the primary + // root window if possible. + WmWindow* primary_root = shell->GetPrimaryRootWindow(); + shell->set_root_window_for_new_windows(primary_root == root ? nullptr + : primary_root); + } +} + +void RootWindowController::OnMenuClosed() { + menu_runner_.reset(); + menu_model_adapter_.reset(); + menu_model_.reset(); + wm_shelf_->UpdateVisibilityState(); +} + void RootWindowController::OnLoginStateChanged(LoginStatus status) { wm_shelf_->UpdateVisibilityState(); }
diff --git a/ash/root_window_controller.h b/ash/root_window_controller.h index 64e589a1..910421f 100644 --- a/ash/root_window_controller.h +++ b/ash/root_window_controller.h
@@ -306,10 +306,6 @@ // Creates the containers (WmWindows) used by the shell. void CreateContainers(); - // Creates the LayoutManagers for the windows created by CreateContainers(). - // TODO(sky): merge this with InitLayoutManagers(). - void CreateLayoutManagers(); - // Initializes |system_wallpaper_| and possibly also |boot_splash_screen_|. // The initial color is determined by the |root_window_type| and whether or // not this is the first boot. @@ -333,9 +329,6 @@ void OnLoginStateChanged(LoginStatus status) override; void OnTouchHudProjectionToggled(bool enabled) override; - // TODO(sky): temporary, fold into CloseChildWindows(). - void CloseChildWindowsImpl(); - std::unique_ptr<AshWindowTreeHost> ash_host_; std::unique_ptr<aura::WindowTreeHost> mus_window_tree_host_; // This comes from |ash_host_| or |mus_window_tree_host_|.
diff --git a/ash/system/chromeos/power/tablet_power_button_controller.cc b/ash/system/chromeos/power/tablet_power_button_controller.cc index d8b3fc6f5..f34dc3e 100644 --- a/ash/system/chromeos/power/tablet_power_button_controller.cc +++ b/ash/system/chromeos/power/tablet_power_button_controller.cc
@@ -164,12 +164,8 @@ } void TabletPowerButtonController::OnMouseEvent(ui::MouseEvent* event) { - ui::EventPointerType pointer_type = event->pointer_details().pointer_type; - - if (pointer_type != ui::EventPointerType::POINTER_TYPE_MOUSE || - (event->flags() & ui::EF_IS_SYNTHESIZED)) { + if (event->flags() & ui::EF_IS_SYNTHESIZED) return; - } if (!IsTabletModeActive() && backlights_forced_off_) SetDisplayForcedOff(false);
diff --git a/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc b/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc index 9f2fd5529..a115f49 100644 --- a/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc +++ b/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc
@@ -313,15 +313,6 @@ generator_->MoveMouseBy(1, 1); generator_->set_flags(ui::EF_NONE); EXPECT_TRUE(GetBacklightsForcedOff()); - - // Stylus event should not SetBacklightsForcedOff(false). - EXPECT_TRUE(GetBacklightsForcedOff()); - generator_->EnterPenPointerMode(); - generator_->PressTouch(); - generator_->MoveTouch(gfx::Point(1, 1)); - generator_->ReleaseTouch(); - EXPECT_TRUE(GetBacklightsForcedOff()); - generator_->ExitPenPointerMode(); } // For convertible device working on tablet mode, keyboard/mouse event should @@ -338,11 +329,6 @@ generator_->MoveMouseBy(1, 1); EXPECT_TRUE(GetBacklightsForcedOff()); - - generator_->EnterPenPointerMode(); - generator_->MoveMouseBy(1, 1); - EXPECT_TRUE(GetBacklightsForcedOff()); - generator_->ExitPenPointerMode(); } // Tests that a single set of power button pressed-and-released operation should
diff --git a/chrome/VERSION b/chrome/VERSION index 9500d63..f34c40c 100644 --- a/chrome/VERSION +++ b/chrome/VERSION
@@ -1,4 +1,4 @@ MAJOR=57 MINOR=0 -BUILD=2979 +BUILD=2980 PATCH=0
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java index f27b05f7..1c0c709 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java
@@ -22,8 +22,10 @@ import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.SuppressFBWarnings; import org.chromium.base.metrics.RecordHistogram; +import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.preferences.website.ContentSetting; import org.chromium.chrome.browser.preferences.website.GeolocationInfo; +import org.chromium.chrome.browser.preferences.website.WebsitePreferenceBridge; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.util.UrlUtilities; @@ -359,7 +361,14 @@ * scheme, this considers the user's preference for url with the http scheme instead. */ static boolean isLocationDisabledForUrl(Uri uri, boolean isIncognito) { - return locationContentSettingForUrl(uri, isIncognito) == ContentSetting.BLOCK; + if (ChromeFeatureList.isEnabled(ChromeFeatureList.CONSISTENT_OMNIBOX_GEOLOCATION)) { + boolean enabled = WebsitePreferenceBridge.shouldUseDSEGeolocationSetting( + uri.toString(), isIncognito) + && WebsitePreferenceBridge.getDSEGeolocationSetting(); + return !enabled; + } else { + return locationContentSettingForUrl(uri, isIncognito) == ContentSetting.BLOCK; + } } /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java index 27aa545..a36ba24 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java
@@ -22,6 +22,7 @@ import org.chromium.base.VisibleForTesting; import org.chromium.chrome.R; +import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.ContentSettingsType; import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; import org.chromium.chrome.browser.search_engines.TemplateUrlService; @@ -465,7 +466,12 @@ ContentSetting permission = mSite.getGeolocationPermission(); Context context = preference.getContext(); Object locationAllowed = getArguments().getSerializable(EXTRA_LOCATION); - if (permission == null && hasXGeoLocationPermission(context)) { + if (shouldUseDSEGeolocationSetting()) { + String origin = mSite.getAddress().getOrigin(); + mSite.setGeolocationInfo(new GeolocationInfo(origin, origin, false)); + setUpListPreference(preference, ContentSetting.ALLOW); + updateLocationPreferenceForDSESetting(preference); + } else if (permission == null && hasXGeoLocationPermission(context)) { String origin = mSite.getAddress().getOrigin(); mSite.setGeolocationInfo(new GeolocationInfo(origin, origin, false)); setUpListPreference(preference, ContentSetting.ALLOW); @@ -486,12 +492,26 @@ * @param context The current context. */ private boolean hasXGeoLocationPermission(Context context) { + if (ChromeFeatureList.isEnabled(ChromeFeatureList.CONSISTENT_OMNIBOX_GEOLOCATION)) { + return false; + } + String searchUrl = TemplateUrlService.getInstance().getUrlForSearchQuery("foo"); return mSite.getAddress().matches(searchUrl) && GeolocationHeader.isGeoHeaderEnabledForUrl(searchUrl, false); } /** + * Returns true if the DSE (default search engine) geolocation setting should be used for the + * current host. This will be the case when the host is the CCTLD (Country Code Top Level + * Domain) of the DSE, and the DSE supports the X-Geo header. + */ + private boolean shouldUseDSEGeolocationSetting() { + return WebsitePreferenceBridge.shouldUseDSEGeolocationSetting( + mSite.getAddress().getOrigin(), false); + } + + /** * Updates the location preference to indicate that the site has access to location (via X-Geo) * for searches that happen from the omnibox. * @param preference The Location preference to modify. @@ -500,7 +520,7 @@ ListPreference listPreference = (ListPreference) preference; Resources res = getResources(); listPreference.setEntries(new String[] { - res.getString(R.string.website_settings_permissions_allow_dse), + res.getString(R.string.website_settings_permissions_allow_dse_address_bar), res.getString(ContentSettingsResources.getSiteSummary(ContentSetting.BLOCK)), }); listPreference.setEntryValues(new String[] { @@ -510,6 +530,22 @@ listPreference.setValueIndex(0); } + /** + * Updates the location preference to indicate that the site has access to location (via X-Geo) + * for searches that happen from the omnibox. + * @param preference The Location preference to modify. + */ + private void updateLocationPreferenceForDSESetting(Preference preference) { + ListPreference listPreference = (ListPreference) preference; + Resources res = getResources(); + listPreference.setEntries(new String[] { + res.getString(R.string.website_settings_permissions_allow_dse), + res.getString(R.string.website_settings_permissions_block_dse), + }); + listPreference.setValueIndex( + WebsitePreferenceBridge.getDSEGeolocationSetting() ? 0 : 1); + } + private int getContentSettingsTypeFromPreferenceKey(String preferenceKey) { switch (preferenceKey) { case PREF_AUTOPLAY_PERMISSION:
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java index 1d7ad795..3e18aea 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java
@@ -206,8 +206,13 @@ * Configure geolocation access setting for this site. */ public void setGeolocationPermission(ContentSetting value) { - if (mGeolocationInfo != null) { - mGeolocationInfo.setContentSetting(value); + if (WebsitePreferenceBridge.shouldUseDSEGeolocationSetting( + mOrigin.getOrigin(), false)) { + WebsitePreferenceBridge.setDSEGeolocationSetting(value != ContentSetting.BLOCK); + } else { + if (mGeolocationInfo != null) { + mGeolocationInfo.setContentSetting(value); + } } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java index 59fd067..fcbba04d 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java
@@ -217,6 +217,29 @@ list.add(new UsbInfo(origin, embedder, name, object)); } + /** + * Returns whether the DSE (Default Search Engine) geolocation setting should be used to + * determine geolocation access for the given origin. + */ + public static boolean shouldUseDSEGeolocationSetting( + String origin, boolean isIncognito) { + return nativeShouldUseDSEGeolocationSetting(origin, isIncognito); + } + + /** + * Returns the DSE (Default Search Engine) geolocation setting. + */ + public static boolean getDSEGeolocationSetting() { + return nativeGetDSEGeolocationSetting(); + } + + /** + * Sets the DSE (Default Search Engine) geolocation setting. + */ + public static void setDSEGeolocationSetting(boolean setting) { + nativeSetDSEGeolocationSetting(setting); + } + private static native void nativeGetGeolocationOrigins(Object list, boolean managedOnly); static native int nativeGetGeolocationSettingForOrigin( String origin, String embedder, boolean isIncognito); @@ -257,4 +280,8 @@ static native void nativeGetUsbOrigins(Object list); static native void nativeRevokeUsbPermission(String origin, String embedder, String object); static native void nativeClearBannerData(String origin); + private static native boolean nativeShouldUseDSEGeolocationSetting( + String origin, boolean isIncognito); + private static native boolean nativeGetDSEGeolocationSetting(); + private static native void nativeSetDSEGeolocationSetting(boolean setting); }
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd index 7946961e..792774a 100644 --- a/chrome/android/java/strings/android_chrome_strings.grd +++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -722,9 +722,15 @@ <message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_BLOCK" desc="Summary text explaining that Chrome will block a website from accessing some permission, e.g. JavaScript: block."> Block </message> - <message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_ALLOW_DSE" desc="Summary text explaining that Chrome will allow the default search engine to access the user's location, but only when the user searches directly from the address bar. e.g. Location access: Allow (for address bar searches)"> + <message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_ALLOW_DSE_ADDRESS_BAR" desc="Summary text explaining that Chrome will allow the default search engine to access the user's location, but only when the user searches directly from the address bar. e.g. Location access: Allow (for address bar searches)"> Allow (for address bar searches) </message> + <message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_ALLOW_DSE" desc="Summary text explaining that Chrome will allow the default search engine to access the user's location, both when performed from the address bar and from Google search result pages. e.g. Location access: Allow for Google searches"> + Allow for current search engine + </message> + <message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_BLOCK_DSE" desc="Summary text explaining that Chrome will allow the default search engine to access the user's location, both when performed from the address bar and from Google search result pages. e.g. Location access: Allow for Google searches"> + Block for current search engine + </message> <message name="IDS_WEBSITE_RESET" desc="The label for the button allowing users to clear all data and reset the permissions for a website."> Clear & reset </message>
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java index c809703..ab4d413 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java
@@ -12,10 +12,12 @@ import org.chromium.base.ThreadUtils; import org.chromium.base.library_loader.ProcessInitException; +import org.chromium.base.test.util.CommandLineFlags; import org.chromium.base.test.util.Feature; import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.preferences.website.ContentSetting; import org.chromium.chrome.browser.preferences.website.GeolocationInfo; +import org.chromium.chrome.browser.preferences.website.WebsitePreferenceBridge; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.test.ChromeActivityTestCaseBase; @@ -25,6 +27,11 @@ public class GeolocationHeaderTest extends ChromeActivityTestCaseBase<ChromeActivity> { private static final String SEARCH_URL_1 = "https://www.google.com/search?q=potatoes"; private static final String SEARCH_URL_2 = "https://www.google.co.jp/webhp?#q=dinosaurs"; + private static final String ENABLE_CONSISTENT_GEOLOCATION_FEATURE = + "enable-features=ConsistentOmniboxGeolocation"; + private static final String DISABLE_CONSISTENT_GEOLOCATION_FEATURE = + "disable-features=ConsistentOmniboxGeolocation"; + private static final String GOOGLE_BASE_URL_SWITCH = "google-base-url=https://www.google.com"; public GeolocationHeaderTest() { super(ChromeActivity.class); @@ -32,6 +39,7 @@ @SmallTest @Feature({"Location"}) + @CommandLineFlags.Add(DISABLE_CONSISTENT_GEOLOCATION_FEATURE) public void testGeolocationHeader() throws ProcessInitException { setMockLocation(20.3, 155.8, System.currentTimeMillis()); @@ -51,6 +59,39 @@ // X-Geo shouldn't be sent over HTTP. assertNullHeader("http://www.google.com/search?q=potatoes", false); assertNullHeader("http://www.google.com/webhp?#q=dinosaurs", false); + } + + @SmallTest + @Feature({"Location"}) + @CommandLineFlags.Add({ENABLE_CONSISTENT_GEOLOCATION_FEATURE, GOOGLE_BASE_URL_SWITCH}) + public void testConsistentHeader() throws ProcessInitException { + setMockLocation(20.3, 155.8, System.currentTimeMillis()); + + // X-Geo should be sent for Google search results page URLs. + assertNonNullHeader(SEARCH_URL_1, false); + + // But only the current CCTLD. + assertNullHeader(SEARCH_URL_2, false); + + // X-Geo shouldn't be sent in incognito mode. + assertNullHeader(SEARCH_URL_1, true); + assertNullHeader(SEARCH_URL_2, true); + + // X-Geo shouldn't be sent with URLs that aren't the Google search results page. + assertNullHeader("invalid$url", false); + assertNullHeader("https://www.chrome.fr/", false); + assertNullHeader("https://www.google.com/", false); + + // X-Geo shouldn't be sent over HTTP. + assertNullHeader("http://www.google.com/search?q=potatoes", false); + assertNullHeader("http://www.google.com/webhp?#q=dinosaurs", false); + } + + @SmallTest + @Feature({"Location"}) + @CommandLineFlags.Add(DISABLE_CONSISTENT_GEOLOCATION_FEATURE) + public void testPermissions() throws ProcessInitException { + setMockLocation(20.3, 155.8, System.currentTimeMillis()); // X-Geo shouldn't be sent when location is disallowed for https origin. // If https origin doesn't have a location setting, fall back to value for http origin. @@ -63,6 +104,27 @@ checkHeaderWithPermissions(ContentSetting.BLOCK, ContentSetting.ALLOW, true); checkHeaderWithPermissions(ContentSetting.BLOCK, ContentSetting.DEFAULT, true); checkHeaderWithPermissions(ContentSetting.BLOCK, ContentSetting.BLOCK, true); + } + + @SmallTest + @Feature({"Location"}) + @CommandLineFlags.Add({ENABLE_CONSISTENT_GEOLOCATION_FEATURE, GOOGLE_BASE_URL_SWITCH}) + public void testPermissionAndSetting() throws ProcessInitException { + setMockLocation(20.3, 155.8, System.currentTimeMillis()); + + // X-Geo shouldn't be sent when location is disallowed for the origin, or when the DSE + // geolocation setting is off. + checkHeaderWithPermissionAndSetting(ContentSetting.ALLOW, true, false); + checkHeaderWithPermissionAndSetting(ContentSetting.DEFAULT, true, false); + checkHeaderWithPermissionAndSetting(ContentSetting.DEFAULT, false, true); + checkHeaderWithPermissionAndSetting(ContentSetting.BLOCK, false, true); + } + + @SmallTest + @Feature({"Location"}) + @CommandLineFlags.Add(DISABLE_CONSISTENT_GEOLOCATION_FEATURE) + public void testOnlyNonStale() throws ProcessInitException { + setMockLocation(20.3, 155.8, System.currentTimeMillis()); // X-Geo should be sent only with non-stale locations. long now = System.currentTimeMillis(); @@ -93,6 +155,22 @@ }); } + private void checkHeaderWithPermissionAndSetting(final ContentSetting httpsPermission, + final boolean settingValue, final boolean shouldBeNull) { + ThreadUtils.runOnUiThreadBlocking(new Runnable() { + @Override + public void run() { + GeolocationInfo infoHttps = + new GeolocationInfo(SEARCH_URL_1, null, false); + infoHttps.setContentSetting(httpsPermission); + WebsitePreferenceBridge.setDSEGeolocationSetting(settingValue); + String header = GeolocationHeader.getGeoHeader( + SEARCH_URL_1, getActivity().getActivityTab()); + assertHeaderState(header, shouldBeNull); + } + }); + } + private void checkHeaderWithLocation(final double latitute, final double longitude, final long time, final boolean shouldBeNull) { ThreadUtils.runOnUiThreadBlocking(new Runnable() {
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp index 03f8b6b..a8d2572 100644 --- a/chrome/app/chromeos_strings.grdp +++ b/chrome/app/chromeos_strings.grdp
@@ -803,6 +803,9 @@ <message name="IDS_FILE_BROWSER_METADATA_BOX_CREATION_TIME" desc="Label for file creation time."> Created Time </message> + <message name="IDS_FILE_BROWSER_METADATA_BOX_DIMENSION" desc="Label for image dimension."> + Dimension + </message> <message name="IDS_FILE_BROWSER_METADATA_BOX_DURATION" desc="Label for audio/video duration."> Duration </message> @@ -851,9 +854,6 @@ <message name="IDS_FILE_BROWSER_METADATA_BOX_PAGE_COUNT" desc="Label for pdf page count."> Page Count </message> - <message name="IDS_FILE_BROWSER_METADATA_BOX_RESOLUTION" desc="Label for image resolution."> - Resolution - </message> <message name="IDS_FILE_BROWSER_METADATA_BOX_SOURCE" desc="Label for the device used to capture the image."> Source </message>
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn index 20813f2..0632028 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -2802,6 +2802,8 @@ "android/search_geolocation/search_geolocation_disclosure_infobar_delegate.h", "android/search_geolocation/search_geolocation_disclosure_tab_helper.cc", "android/search_geolocation/search_geolocation_disclosure_tab_helper.h", + "android/search_geolocation/search_geolocation_service.cc", + "android/search_geolocation/search_geolocation_service.h", "android/seccomp_support_detector.cc", "android/seccomp_support_detector.h", "android/service_tab_launcher.cc",
diff --git a/chrome/browser/android/preferences/browser_prefs_android.cc b/chrome/browser/android/preferences/browser_prefs_android.cc index f289e7f..4bc23f7 100644 --- a/chrome/browser/android/preferences/browser_prefs_android.cc +++ b/chrome/browser/android/preferences/browser_prefs_android.cc
@@ -5,6 +5,7 @@ #include "chrome/browser/android/preferences/browser_prefs_android.h" #include "chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.h" +#include "chrome/browser/android/search_geolocation/search_geolocation_service.h" #include "chrome/browser/notifications/notification_platform_bridge_android.h" #include "components/pref_registry/pref_registry_syncable.h" #include "components/prefs/pref_registry_simple.h" @@ -14,6 +15,7 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { NotificationPlatformBridgeAndroid::RegisterProfilePrefs(registry); SearchGeolocationDisclosureTabHelper::RegisterProfilePrefs(registry); + SearchGeolocationService::RegisterProfilePrefs(registry); } } // namespace android
diff --git a/chrome/browser/android/preferences/website_preference_bridge.cc b/chrome/browser/android/preferences/website_preference_bridge.cc index 500fe70..4b3954e 100644 --- a/chrome/browser/android/preferences/website_preference_bridge.cc +++ b/chrome/browser/android/preferences/website_preference_bridge.cc
@@ -18,6 +18,7 @@ #include "base/json/json_writer.h" #include "base/logging.h" #include "base/macros.h" +#include "chrome/browser/android/search_geolocation/search_geolocation_service.h" #include "chrome/browser/browsing_data/browsing_data_flash_lso_helper.h" #include "chrome/browser/browsing_data/browsing_data_local_storage_helper.h" #include "chrome/browser/browsing_data/browsing_data_quota_helper.h" @@ -741,6 +742,36 @@ CONTENT_SETTINGS_TYPE_APP_BANNER, std::string(), nullptr); } +static jboolean ShouldUseDSEGeolocationSetting( + JNIEnv* env, + const JavaParamRef<jclass>& clazz, + const JavaParamRef<jstring>& jorigin, + jboolean is_incognito) { + SearchGeolocationService* search_helper = + SearchGeolocationService::Factory::GetForBrowserContext( + GetActiveUserProfile(is_incognito)); + return search_helper && + search_helper->UseDSEGeolocationSetting( + url::Origin(GURL(ConvertJavaStringToUTF8(env, jorigin)))); +} + +static jboolean GetDSEGeolocationSetting(JNIEnv* env, + const JavaParamRef<jclass>& clazz) { + SearchGeolocationService* search_helper = + SearchGeolocationService::Factory::GetForBrowserContext( + GetActiveUserProfile(false /* is_incognito */)); + return search_helper->GetDSEGeolocationSetting(); +} + +static void SetDSEGeolocationSetting(JNIEnv* env, + const JavaParamRef<jclass>& clazz, + jboolean setting) { + SearchGeolocationService* search_helper = + SearchGeolocationService::Factory::GetForBrowserContext( + GetActiveUserProfile(false /* is_incognito */)); + return search_helper->SetDSEGeolocationSetting(setting); +} + // Register native methods bool RegisterWebsitePreferenceBridge(JNIEnv* env) { return RegisterNativesImpl(env);
diff --git a/chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.cc b/chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.cc index e92959d..9cd7a6e 100644 --- a/chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.cc +++ b/chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.cc
@@ -84,6 +84,14 @@ } // static +void SearchGeolocationDisclosureTabHelper::ResetDisclosure(Profile* profile) { + PrefService* prefs = profile->GetPrefs(); + prefs->ClearPref(prefs::kSearchGeolocationDisclosureShownCount); + prefs->ClearPref(prefs::kSearchGeolocationDisclosureLastShowDate); + prefs->ClearPref(prefs::kSearchGeolocationDisclosureDismissed); +} + +// static void SearchGeolocationDisclosureTabHelper::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kSearchGeolocationDisclosureDismissed,
diff --git a/chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.h b/chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.h index 5d5e2f2..771e6228f 100644 --- a/chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.h +++ b/chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.h
@@ -30,6 +30,8 @@ void NavigationEntryCommitted( const content::LoadCommittedDetails& load_details) override; + static void ResetDisclosure(Profile* profile); + static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); // Registers native methods.
diff --git a/chrome/browser/android/search_geolocation/search_geolocation_service.cc b/chrome/browser/android/search_geolocation/search_geolocation_service.cc new file mode 100644 index 0000000..952dbc76 --- /dev/null +++ b/chrome/browser/android/search_geolocation/search_geolocation_service.cc
@@ -0,0 +1,283 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/android/search_geolocation/search_geolocation_service.h" + +#include "base/feature_list.h" +#include "base/values.h" +#include "chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.h" +#include "chrome/browser/content_settings/host_content_settings_map_factory.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/search_engines/template_url_service_factory.h" +#include "chrome/browser/search_engines/ui_thread_search_terms_data.h" +#include "chrome/common/chrome_features.h" +#include "chrome/common/pref_names.h" +#include "components/content_settings/core/browser/content_settings_utils.h" +#include "components/content_settings/core/browser/host_content_settings_map.h" +#include "components/content_settings/core/common/content_settings_types.h" +#include "components/keyed_service/content/browser_context_dependency_manager.h" +#include "components/pref_registry/pref_registry_syncable.h" +#include "components/prefs/pref_service.h" +#include "components/search_engines/template_url.h" +#include "components/search_engines/template_url_service.h" +#include "url/gurl.h" +#include "url/url_constants.h" + +namespace { + +const char kIsGoogleSearchEngineKey[] = "is_google_search_engine"; +const char kCCTLDKey[] = "cctld"; +const char kDSESettingKey[] = "dse_setting"; + +} // namespace + +struct SearchGeolocationService::PrefValue { + bool is_google_search_engine = false; + url::Origin cctld; + bool setting = false; +}; + +// static +SearchGeolocationService* +SearchGeolocationService::Factory::GetForBrowserContext( + content::BrowserContext* context) { + return static_cast<SearchGeolocationService*>(GetInstance() + ->GetServiceForBrowserContext(context, true)); +} + +// static +SearchGeolocationService::Factory* +SearchGeolocationService::Factory::GetInstance() { + return base::Singleton<SearchGeolocationService::Factory>::get(); +} + +SearchGeolocationService::Factory::Factory() + : BrowserContextKeyedServiceFactory( + "SearchGeolocationService", + BrowserContextDependencyManager::GetInstance()) { + DependsOn(HostContentSettingsMapFactory::GetInstance()); + DependsOn(TemplateURLServiceFactory::GetInstance()); +} + +SearchGeolocationService::Factory::~Factory() {} + +bool SearchGeolocationService::Factory::ServiceIsCreatedWithBrowserContext() + const { + return true; +} + +KeyedService* SearchGeolocationService::Factory::BuildServiceInstanceFor( + content::BrowserContext* context) const { + return new SearchGeolocationService(Profile::FromBrowserContext(context)); +} + +// static +void SearchGeolocationService::RegisterProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { + registry->RegisterDictionaryPref(prefs::kGoogleDSEGeolocationSetting); +} + +SearchGeolocationService::SearchGeolocationService(Profile* profile) + : profile_(profile), + pref_service_(profile_->GetPrefs()), + host_content_settings_map_( + HostContentSettingsMapFactory::GetForProfile(profile_)), + template_url_service_( + TemplateURLServiceFactory::GetForProfile(profile_)) { + if (!UseConsistentSearchGeolocation()) + return; + + template_url_service_->AddObserver(this); + + InitializeDSEGeolocationSettingIfNeeded(); + + // Make sure the setting is valid now. It's possible that the setting has + // become invalid either by changes being made to enterprise policy, or while + // the flag to enable consistent search geolocation was off. + EnsureDSEGeolocationSettingIsValid(); +} + +bool SearchGeolocationService::UseDSEGeolocationSetting( + const url::Origin& requesting_origin) { + if (!UseConsistentSearchGeolocation()) + return false; + + if (profile_->IsOffTheRecord()) + return false; + + if (requesting_origin.scheme() != url::kHttpsScheme) + return false; + + if (!requesting_origin.IsSameOriginWith(GetDSECCTLD())) + return false; + + // If the content setting for the DSE CCTLD is controlled by policy, and is st + // to ASK, don't use the DSE geolocation setting. + if (!IsContentSettingUserSettable() && + GetCurrentContentSetting() == CONTENT_SETTING_ASK) { + return false; + } + + return true; +} + +bool SearchGeolocationService::GetDSEGeolocationSetting() { + // Make sure the setting is valid, in case enterprise policy has changed. + // TODO(benwells): Check if enterprise policy can change while Chrome is + // running. If it can't this call is probably not needed. + EnsureDSEGeolocationSettingIsValid(); + + return GetDSEGeolocationPref().setting; +} + +void SearchGeolocationService::SetDSEGeolocationSetting(bool setting) { + PrefValue pref = GetDSEGeolocationPref(); + if (setting == pref.setting) + return; + + // If the user cannot change their geolocation content setting (e.g. due to + // enterprise policy), they also can't change this preference so just bail + // out. + if (!IsContentSettingUserSettable()) + return; + + pref.setting = setting; + SetDSEGeolocationPref(pref); + + ResetContentSetting(); +} + +void SearchGeolocationService::Shutdown() { + if (UseConsistentSearchGeolocation()) + template_url_service_->RemoveObserver(this); +} + +SearchGeolocationService::~SearchGeolocationService() {} + +void SearchGeolocationService::OnTemplateURLServiceChanged() { + bool is_now_google_search_engine = IsGoogleSearchEngine(); + PrefValue pref = GetDSEGeolocationPref(); + ContentSetting content_setting = GetCurrentContentSetting(); + + if (is_now_google_search_engine) { + if (content_setting == CONTENT_SETTING_BLOCK && pref.setting) { + pref.setting = false; + } else if (content_setting == CONTENT_SETTING_ALLOW && !pref.setting) { + ResetContentSetting(); + } + } + + if (is_now_google_search_engine && !pref.is_google_search_engine && + pref.setting) { + SearchGeolocationDisclosureTabHelper::ResetDisclosure(profile_); + } + + pref.is_google_search_engine = is_now_google_search_engine; + pref.cctld = GetDSECCTLD(); + SetDSEGeolocationPref(pref); +} + +void SearchGeolocationService::InitializeDSEGeolocationSettingIfNeeded() { + // Initialize the pref if it hasn't been initialized yet. + if (!pref_service_->HasPrefPath(prefs::kGoogleDSEGeolocationSetting)) { + ContentSetting content_setting = GetCurrentContentSetting(); + + PrefValue pref; + pref.is_google_search_engine = IsGoogleSearchEngine(); + pref.cctld = GetDSECCTLD(); + pref.setting = content_setting != CONTENT_SETTING_BLOCK; + SetDSEGeolocationPref(pref); + + SearchGeolocationDisclosureTabHelper::ResetDisclosure(profile_); + } +} + +void SearchGeolocationService::EnsureDSEGeolocationSettingIsValid() { + PrefValue pref = GetDSEGeolocationPref(); + ContentSetting content_setting = GetCurrentContentSetting(); + bool new_setting = pref.setting; + + if (pref.setting && content_setting == CONTENT_SETTING_BLOCK) { + new_setting = false; + } else if (!pref.setting && content_setting == CONTENT_SETTING_ALLOW) { + new_setting = true; + } + + if (pref.setting != new_setting) { + pref.setting = new_setting; + SetDSEGeolocationPref(pref); + } +} + +bool SearchGeolocationService::IsGoogleSearchEngine() { + const TemplateURL* template_url = + template_url_service_->GetDefaultSearchProvider(); + return template_url && + template_url->HasGoogleBaseURLs(UIThreadSearchTermsData(profile_)); +} + +url::Origin SearchGeolocationService::GetDSECCTLD() { + if (!IsGoogleSearchEngine()) + return url::Origin(); + + GURL origin_url(UIThreadSearchTermsData(profile_).GoogleBaseURLValue()); + return url::Origin(origin_url); +} + +SearchGeolocationService::PrefValue +SearchGeolocationService::GetDSEGeolocationPref() { + const base::DictionaryValue* dict = + pref_service_->GetDictionary(prefs::kGoogleDSEGeolocationSetting); + + PrefValue pref; + bool is_google_search_engine; + std::string cctld_string; + bool setting; + if (dict->GetBoolean(kIsGoogleSearchEngineKey, &is_google_search_engine) && + dict->GetString(kCCTLDKey, &cctld_string) && + dict->GetBoolean(kDSESettingKey, &setting)) { + pref.is_google_search_engine = is_google_search_engine; + pref.cctld = url::Origin(GURL(cctld_string)); + pref.setting = setting; + } + + return pref; +} + +void SearchGeolocationService::SetDSEGeolocationPref( + const SearchGeolocationService::PrefValue& pref) { + base::DictionaryValue dict; + dict.SetBoolean(kIsGoogleSearchEngineKey, pref.is_google_search_engine); + dict.SetString(kCCTLDKey, pref.cctld.Serialize()); + dict.SetBoolean(kDSESettingKey, pref.setting); + pref_service_->Set(prefs::kGoogleDSEGeolocationSetting, dict); +} + +ContentSetting SearchGeolocationService::GetCurrentContentSetting() { + url::Origin origin = GetDSECCTLD(); + return host_content_settings_map_->GetContentSetting( + origin.GetURL(), origin.GetURL(), CONTENT_SETTINGS_TYPE_GEOLOCATION, + std::string()); +} + +void SearchGeolocationService::ResetContentSetting() { + url::Origin origin = GetDSECCTLD(); + host_content_settings_map_->SetContentSettingDefaultScope( + origin.GetURL(), origin.GetURL(), CONTENT_SETTINGS_TYPE_GEOLOCATION, + std::string(), CONTENT_SETTING_DEFAULT); +} + +bool SearchGeolocationService::IsContentSettingUserSettable() { + content_settings::SettingInfo info; + url::Origin origin = GetDSECCTLD(); + std::unique_ptr<base::Value> value = + host_content_settings_map_->GetWebsiteSetting( + origin.GetURL(), origin.GetURL(), CONTENT_SETTINGS_TYPE_GEOLOCATION, + std::string(), &info); + return info.source == content_settings::SETTING_SOURCE_USER; +} + +bool SearchGeolocationService::UseConsistentSearchGeolocation() { + return base::FeatureList::IsEnabled(features::kConsistentOmniboxGeolocation); +}
diff --git a/chrome/browser/android/search_geolocation/search_geolocation_service.h b/chrome/browser/android/search_geolocation/search_geolocation_service.h new file mode 100644 index 0000000..23c1904 --- /dev/null +++ b/chrome/browser/android/search_geolocation/search_geolocation_service.h
@@ -0,0 +1,144 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_ANDROID_SEARCH_GEOLOCATION_SEARCH_GEOLOCATION_SERVICE_H_ +#define CHROME_BROWSER_ANDROID_SEARCH_GEOLOCATION_SEARCH_GEOLOCATION_SERVICE_H_ + +#include "base/memory/singleton.h" +#include "components/content_settings/core/common/content_settings.h" +#include "components/keyed_service/content/browser_context_keyed_service_factory.h" +#include "components/keyed_service/core/keyed_service.h" +#include "components/search_engines/template_url_service_observer.h" +#include "url/origin.h" + +namespace content{ +class BrowserContext; +} + +namespace user_prefs { +class PrefRegistrySyncable; +} + +class HostContentSettingsMap; +class PrefService; +class Profile; +class TemplateURLService; + +// Helper class to manage the DSE Geolocation setting. It keeps the setting +// valid by watching change to the CCTLD and DSE, and also provides logic for +// whether the setting should be used and it's current value. +// Glossary: +// DSE: Default Search Engine +// CCTLD: Country Code Top Level Domain (e.g. google.com.au) +class SearchGeolocationService + : public TemplateURLServiceObserver, + public KeyedService { + public: + // Factory implementation will not create a service in incognito. + class Factory : public BrowserContextKeyedServiceFactory { + public: + static SearchGeolocationService* GetForBrowserContext( + content::BrowserContext* context); + + static Factory* GetInstance(); + private: + friend struct base::DefaultSingletonTraits<Factory>; + + Factory(); + ~Factory() override; + + // BrowserContextKeyedServiceFactory + bool ServiceIsCreatedWithBrowserContext() const override; + KeyedService* BuildServiceInstanceFor( + content::BrowserContext* profile) const override; + }; + + static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); + + explicit SearchGeolocationService(Profile* profile); + + // Returns whether the DSE geolocation setting is applicable for geolocation + // requests for the given top level origin. + bool UseDSEGeolocationSetting(const url::Origin& requesting_origin); + + // Returns the DSE geolocation setting, after applying any updates needed to + // make it valid. + bool GetDSEGeolocationSetting(); + + // Changes the DSE geolocation setting. + void SetDSEGeolocationSetting(bool setting); + + // KeyedService: + void Shutdown() override; + + private: + struct PrefValue; + + ~SearchGeolocationService() override; + + // TemplateURLServiceObserver + // When the DSE CCTLD changes (either by changing their DSE or by changing + // their CCTLD, and their DSE supports geolocation: + // * If the DSE CCTLD origin permission is BLOCK, but the DSE geolocation + // setting is on, change the DSE geolocation setting to off + // * If the DSE CCTLD origin permission is ALLOW, but the DSE geolocation + // setting is off, reset the DSE CCTLD origin permission to ASK. + // Also, if the previous DSE did not support geolocation, and the new one + // does, and the geolocation setting is on, reset whether the DSE geolocation + // disclosure has been shown. + void OnTemplateURLServiceChanged() override; + + // Initialize the DSE geolocation setting if it hasn't already been + // initialized. Also, if it hasn't been initialized, reset whether the DSE + // geolocation disclosure has been shown to ensure user who may have seen it + // on earlier versions (due to Finch experiments) see it again. + void InitializeDSEGeolocationSettingIfNeeded(); + + // Check that the DSE geolocation setting is valid with respect to the content + // setting. The rules of vaidity are: + // * If the content setting is BLOCK, the DSE geolocation setting must + // be false. + // * If the content setting is ALLOW, the DSE geolocation setting must be + // true. + // * If the content setting is ASK, the DSE geolocation setting can be true or + // false. + // One way the setting could become invalid is if the feature enabling the + // setting was disabled (via Finch or flags), content settings were changed, + // and the feature enabled again. Or the enterprise policy settings could have + // been updated in a way that makes the setting invalid. + void EnsureDSEGeolocationSettingIsValid(); + + // Returns true if the current DSE is Google (Google is the only search engine + // to currently support DSE geolocation). + bool IsGoogleSearchEngine(); + + // Returns the origin of the current CCTLD of the default search engine. If + // the default search engine is not Google, will return a unique Origin. + url::Origin GetDSECCTLD(); + + PrefValue GetDSEGeolocationPref(); + void SetDSEGeolocationPref(const PrefValue& pref); + + // Retrieve the geolocation content setting for the current DSE CCTLD. + ContentSetting GetCurrentContentSetting(); + + // Reset the geolocation content setting for the current DSE CCTLD back to the + // default. + void ResetContentSetting(); + + // Returns whether the user can change the geolocation content setting for the + // current DSE CCTLD. + bool IsContentSettingUserSettable(); + + // Whether the feature/experiment setup is enabling the consistent search + // geolocation system. + bool UseConsistentSearchGeolocation(); + + Profile* profile_; + PrefService* pref_service_; + HostContentSettingsMap* host_content_settings_map_; + TemplateURLService* template_url_service_; +}; + +#endif // CHROME_BROWSER_ANDROID_SEARCH_GEOLOCATION_SEARCH_GEOLOCATION_SERVICE_H_
diff --git a/chrome/browser/chromeos/arc/arc_service_launcher.cc b/chrome/browser/chromeos/arc/arc_service_launcher.cc index 689e56aa..356664c3 100644 --- a/chrome/browser/chromeos/arc/arc_service_launcher.cc +++ b/chrome/browser/chromeos/arc/arc_service_launcher.cc
@@ -106,14 +106,9 @@ base::MakeUnique<ArcDownloadsWatcherService>(arc_bridge_service)); arc_service_manager_->AddService( base::MakeUnique<ArcEnterpriseReportingService>(arc_bridge_service)); - auto intent_helper = base::MakeUnique<ArcIntentHelperBridge>( + arc_service_manager_->AddService(base::MakeUnique<ArcIntentHelperBridge>( arc_bridge_service, arc_service_manager_->icon_loader(), - arc_service_manager_->activity_resolver()); - // We don't have to call ArcIntentHelperBridge::RemoveObserver() in - // ~ArcServiceManager() since the observer in ArcServiceManager always - // outlives the ArcIntentHelperBridge object. - intent_helper->AddObserver(arc_service_manager_->intent_helper_observer()); - arc_service_manager_->AddService(std::move(intent_helper)); + arc_service_manager_->activity_resolver())); arc_service_manager_->AddService( base::MakeUnique<ArcImeService>(arc_bridge_service)); arc_service_manager_->AddService(
diff --git a/chrome/browser/chromeos/extensions/file_manager/event_router.cc b/chrome/browser/chromeos/extensions/file_manager/event_router.cc index fe12c7bc..7ce2f1c 100644 --- a/chrome/browser/chromeos/extensions/file_manager/event_router.cc +++ b/chrome/browser/chromeos/extensions/file_manager/event_router.cc
@@ -412,8 +412,10 @@ void EventRouter::Shutdown() { DCHECK_CURRENTLY_ON(BrowserThread::UI); - if (arc::ArcServiceManager::IsInitialized()) - arc::ArcServiceManager::Get()->RemoveObserver(this); + auto* intent_helper = + arc::ArcServiceManager::GetGlobalService<arc::ArcIntentHelperBridge>(); + if (intent_helper) + intent_helper->RemoveObserver(this); chromeos::system::TimezoneSettings::GetInstance()->RemoveObserver(this); @@ -506,8 +508,12 @@ chromeos::system::TimezoneSettings::GetInstance()->AddObserver(this); - if (arc::ArcSessionManager::IsAllowedForProfile(profile_)) - arc::ArcServiceManager::Get()->AddObserver(this); + if (arc::ArcSessionManager::IsAllowedForProfile(profile_)) { + auto* intent_helper = + arc::ArcServiceManager::GetGlobalService<arc::ArcIntentHelperBridge>(); + if (intent_helper) + intent_helper->AddObserver(this); + } } // File watch setup routines.
diff --git a/chrome/browser/chromeos/extensions/file_manager/event_router.h b/chrome/browser/chromeos/extensions/file_manager/event_router.h index aaae29b4..a6fe75cf 100644 --- a/chrome/browser/chromeos/extensions/file_manager/event_router.h +++ b/chrome/browser/chromeos/extensions/file_manager/event_router.h
@@ -27,6 +27,7 @@ #include "chromeos/network/network_state_handler_observer.h" #include "chromeos/settings/timezone_settings.h" #include "components/arc/arc_service_manager.h" +#include "components/arc/intent_helper/arc_intent_helper_observer.h" #include "components/drive/chromeos/file_system_observer.h" #include "components/drive/chromeos/sync_client.h" #include "components/drive/service/drive_service_interface.h" @@ -56,7 +57,7 @@ public drive::FileSystemObserver, public drive::DriveServiceObserver, public VolumeManagerObserver, - public arc::ArcServiceManager::Observer { + public arc::ArcIntentHelperObserver { public: typedef base::Callback<void(const base::FilePath& virtual_path, const drive::FileChange* list, @@ -67,7 +68,7 @@ explicit EventRouter(Profile* profile); ~EventRouter() override; - // arc::ArcServiceManager::Observer overrides. + // arc::ArcIntentHelperObserver overrides. void OnIntentFiltersUpdated() override; // KeyedService overrides.
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_strings.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_strings.cc index ce62e90..2bfa997 100644 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_strings.cc +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_strings.cc
@@ -495,6 +495,7 @@ IDS_FILE_BROWSER_METADATA_BOX_CREATED_BY); SET_STRING("METADATA_BOX_CREATION_TIME", IDS_FILE_BROWSER_METADATA_BOX_CREATION_TIME); + SET_STRING("METADATA_BOX_DIMENSION", IDS_FILE_BROWSER_METADATA_BOX_DIMENSION); SET_STRING("METADATA_BOX_DURATION", IDS_FILE_BROWSER_METADATA_BOX_DURATION); SET_STRING("METADATA_BOX_EXIF_DEVICE_MODEL", IDS_FILE_BROWSER_METADATA_BOX_EXIF_DEVICE_MODEL); @@ -523,8 +524,6 @@ IDS_FILE_BROWSER_METADATA_BOX_MODIFIED_BY); SET_STRING("METADATA_BOX_PAGE_COUNT", IDS_FILE_BROWSER_METADATA_BOX_PAGE_COUNT); - SET_STRING("METADATA_BOX_RESOLUTION", - IDS_FILE_BROWSER_METADATA_BOX_RESOLUTION); SET_STRING("METADATA_BOX_SOURCE", IDS_FILE_BROWSER_METADATA_BOX_SOURCE); SET_STRING("METADATA_BOX_TRACK", IDS_FILE_BROWSER_METADATA_BOX_TRACK); SET_STRING("METADATA_BOX_VIDEO_INFO",
diff --git a/chrome/browser/chromeos/note_taking_helper.cc b/chrome/browser/chromeos/note_taking_helper.cc index d4b56f297..95c7594d 100644 --- a/chrome/browser/chromeos/note_taking_helper.cc +++ b/chrome/browser/chromeos/note_taking_helper.cc
@@ -26,7 +26,7 @@ #include "chromeos/chromeos_switches.h" #include "components/arc/arc_bridge_service.h" #include "components/arc/arc_service_manager.h" -#include "components/arc/common/intent_helper.mojom.h" +#include "components/arc/intent_helper/arc_intent_helper_bridge.h" #include "components/prefs/pref_service.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/notification_service.h" @@ -228,10 +228,12 @@ session_manager->AddObserver(this); android_enabled_ = session_manager->IsArcEnabled(); - // ArcServiceManager will notify us about changes to the list of available + // ArcIntentHelperBridge will notify us about changes to the list of available // Android apps. - auto service_manager = arc::ArcServiceManager::Get(); - service_manager->AddObserver(this); + auto intent_helper_bridge = + arc::ArcServiceManager::GetGlobalService<arc::ArcIntentHelperBridge>(); + if (intent_helper_bridge) + intent_helper_bridge->AddObserver(this); // If the ARC intent helper is ready, get the Android apps. Otherwise, // UpdateAndroidApps() will be called when ArcServiceManager calls @@ -248,8 +250,10 @@ DCHECK_CURRENTLY_ON(content::BrowserThread::UI); // ArcSessionManagerTest shuts down ARC before NoteTakingHelper. - if (arc::ArcServiceManager::Get()) - arc::ArcServiceManager::Get()->RemoveObserver(this); + auto intent_helper_bridge = + arc::ArcServiceManager::GetGlobalService<arc::ArcIntentHelperBridge>(); + if (intent_helper_bridge) + intent_helper_bridge->RemoveObserver(this); if (arc::ArcSessionManager::Get()) arc::ArcSessionManager::Get()->RemoveObserver(this); }
diff --git a/chrome/browser/chromeos/note_taking_helper.h b/chrome/browser/chromeos/note_taking_helper.h index 669c6885..86676b12 100644 --- a/chrome/browser/chromeos/note_taking_helper.h +++ b/chrome/browser/chromeos/note_taking_helper.h
@@ -5,6 +5,7 @@ #ifndef CHROME_BROWSER_CHROMEOS_NOTE_TAKING_HELPER_H_ #define CHROME_BROWSER_CHROMEOS_NOTE_TAKING_HELPER_H_ +#include <memory> #include <string> #include <vector> @@ -13,7 +14,8 @@ #include "base/observer_list.h" #include "base/scoped_observer.h" #include "chrome/browser/chromeos/arc/arc_session_manager.h" -#include "components/arc/arc_service_manager.h" +#include "components/arc/common/intent_helper.mojom.h" +#include "components/arc/intent_helper/arc_intent_helper_observer.h" #include "content/public/browser/notification_details.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" @@ -58,7 +60,7 @@ using NoteTakingAppInfos = std::vector<NoteTakingAppInfo>; // Singleton class used to launch a note-taking app. -class NoteTakingHelper : public arc::ArcServiceManager::Observer, +class NoteTakingHelper : public arc::ArcIntentHelperObserver, public arc::ArcSessionManager::Observer, public content::NotificationObserver, public extensions::ExtensionRegistryObserver { @@ -150,7 +152,7 @@ // first. void LaunchAppForNewNote(Profile* profile, const base::FilePath& path); - // arc::ArcServiceManager::Observer: + // arc::ArcIntentHelperObserver: void OnIntentFiltersUpdated() override; // arc::ArcSessionManager::Observer:
diff --git a/chrome/browser/content_settings/host_content_settings_map_unittest.cc b/chrome/browser/content_settings/host_content_settings_map_unittest.cc index e8fd7c40..5aa17cd 100644 --- a/chrome/browser/content_settings/host_content_settings_map_unittest.cc +++ b/chrome/browser/content_settings/host_content_settings_map_unittest.cc
@@ -1250,6 +1250,8 @@ CONTENT_SETTING_DEFAULT); } +// Guest profiles do not exist on Android, so don't run these tests there. +#if !defined(OS_ANDROID) TEST_F(HostContentSettingsMapTest, GuestProfile) { TestingProfile profile; profile.SetGuestSession(true); @@ -1321,6 +1323,7 @@ GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES)); EXPECT_TRUE(all_settings_dictionary->empty()); } +#endif // !defined(OS_ANDROID) TEST_F(HostContentSettingsMapTest, MigrateDomainScopedSettings) { TestingProfile profile; @@ -1497,6 +1500,13 @@ // once after syncing (even when these events occur multiple times). TEST_F(HostContentSettingsMapTest, DomainToOriginMigrationStatus) { TestingProfile profile; + + // Construct the map now to make the various platforms equivalent. On Android + // the map is created with the profile (due to dependencies), while on other + // platforms it is created lazily. Note, migration should be run here. + HostContentSettingsMap* host_content_settings_map = + HostContentSettingsMapFactory::GetForProfile(&profile); + PrefService* prefs = profile.GetPrefs(); GURL http_host("http://example.com/"); @@ -1522,13 +1532,38 @@ EXPECT_TRUE(all_settings_dictionary->GetDictionaryWithoutPathExpansion( "[*.]example.com,*", &result)); - // Migration is done on construction of HostContentSettingsMap. - HostContentSettingsMap* host_content_settings_map = - HostContentSettingsMapFactory::GetForProfile(&profile); + // Migration is done on construction of HostContentSettingsMap. Try to run it + // again. This should not do anything as it has already ran. + host_content_settings_map->MigrateDomainScopedSettings( + false /* after_sync */); // Change default setting to BLOCK. host_content_settings_map->SetDefaultContentSetting( CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_BLOCK); + + EXPECT_EQ( + CONTENT_SETTING_ALLOW, + host_content_settings_map->GetContentSetting( + http_host, http_host, CONTENT_SETTINGS_TYPE_POPUPS, std::string())); + + // The setting should still be allow as it hasn't been migrated. + EXPECT_EQ(CONTENT_SETTING_ALLOW, + host_content_settings_map->GetContentSetting( + http_host_narrower, http_host_narrower, + CONTENT_SETTINGS_TYPE_POPUPS, std::string())); + + // Set the pref to its initial state so that migration can be triggered again, + // just for the sake of testing. + int default_value; + prefs->GetDefaultPrefValue(prefs::kDomainToOriginMigrationStatus) + ->GetAsInteger(&default_value); + prefs->SetInteger(prefs::kDomainToOriginMigrationStatus, default_value); + + // Now, do the migration. This should work as we've cleared the pref back to + // its default value. + host_content_settings_map->MigrateDomainScopedSettings(false); + + // Now the settings should be migrated. EXPECT_EQ( CONTENT_SETTING_ALLOW, host_content_settings_map->GetContentSetting( @@ -1546,6 +1581,7 @@ ContentSettingsPattern::FromURL(https_host), ContentSettingsPattern::Wildcard(), CONTENT_SETTINGS_TYPE_POPUPS, std::string(), CONTENT_SETTING_ALLOW); + EXPECT_EQ( CONTENT_SETTING_ALLOW, host_content_settings_map->GetContentSetting(
diff --git a/chrome/browser/geolocation/geolocation_permission_context.cc b/chrome/browser/geolocation/geolocation_permission_context.cc index 4e282fcb..38ab762b 100644 --- a/chrome/browser/geolocation/geolocation_permission_context.cc +++ b/chrome/browser/geolocation/geolocation_permission_context.cc
@@ -13,10 +13,7 @@ #include "content/public/browser/render_frame_host.h" #include "content/public/browser/web_contents.h" #include "device/geolocation/geolocation_provider.h" - -#if defined(OS_ANDROID) -#include "chrome/browser/android/search_geolocation/search_geolocation_disclosure_infobar_delegate.h" -#endif +#include "url/origin.h" GeolocationPermissionContext::GeolocationPermissionContext(Profile* profile) : PermissionContextBase(profile, @@ -54,17 +51,6 @@ return; } -#if defined(OS_ANDROID) - // If the search geolocation disclosure is open, don't pop up a permission - // request. Treat this as a dismissal instead. - if (SearchGeolocationDisclosureInfoBarDelegate:: - IsSearchGeolocationDisclosureOpen(web_contents)) { - NotifyPermissionSet(id, requesting_origin, embedding_origin, callback, - false /* persist */, CONTENT_SETTING_DEFAULT); - return; - } -#endif - PermissionContextBase::DecidePermission(web_contents, id, requesting_origin,
diff --git a/chrome/browser/geolocation/geolocation_permission_context_android.cc b/chrome/browser/geolocation/geolocation_permission_context_android.cc index 65c96ef..51f1f1b 100644 --- a/chrome/browser/geolocation/geolocation_permission_context_android.cc +++ b/chrome/browser/geolocation/geolocation_permission_context_android.cc
@@ -10,8 +10,10 @@ #include "base/bind.h" #include "chrome/browser/android/location_settings.h" #include "chrome/browser/android/location_settings_impl.h" +#include "chrome/browser/android/search_geolocation/search_geolocation_service.h" #include "chrome/browser/permissions/permission_request_id.h" #include "chrome/browser/permissions/permission_update_infobar_delegate_android.h" +#include "chrome/browser/profiles/profile.h" #include "components/infobars/core/infobar.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/web_contents.h" @@ -28,6 +30,31 @@ GeolocationPermissionContextAndroid::~GeolocationPermissionContextAndroid() { } +ContentSetting GeolocationPermissionContextAndroid::GetPermissionStatusInternal( + const GURL& requesting_origin, + const GURL& embedding_origin) const { + ContentSetting value = + GeolocationPermissionContext::GetPermissionStatusInternal( + requesting_origin, embedding_origin); + + if (value == CONTENT_SETTING_ASK && requesting_origin == embedding_origin) { + // Consult the DSE Geolocation setting. Note that this only needs to be + // consulted when the content setting is ASK. In the other cases (ALLOW or + // BLOCK) checking the setting is redundant, as the setting is kept + // consistent with the content setting. + SearchGeolocationService* search_helper = + SearchGeolocationService::Factory::GetForBrowserContext(profile()); + if (search_helper && + search_helper->UseDSEGeolocationSetting( + url::Origin(embedding_origin))) { + value = search_helper->GetDSEGeolocationSetting() ? CONTENT_SETTING_ALLOW + : CONTENT_SETTING_BLOCK; + } + } + + return value; +} + void GeolocationPermissionContextAndroid::RequestPermission( content::WebContents* web_contents, const PermissionRequestID& id,
diff --git a/chrome/browser/geolocation/geolocation_permission_context_android.h b/chrome/browser/geolocation/geolocation_permission_context_android.h index 521cd88..b939a09 100644 --- a/chrome/browser/geolocation/geolocation_permission_context_android.h +++ b/chrome/browser/geolocation/geolocation_permission_context_android.h
@@ -44,6 +44,12 @@ explicit GeolocationPermissionContextAndroid(Profile* profile); ~GeolocationPermissionContextAndroid() override; + protected: + // GeolocationPermissionContext: + ContentSetting GetPermissionStatusInternal( + const GURL& requesting_origin, + const GURL& embedding_origin) const override; + private: friend class GeolocationPermissionContextTests;
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc index 8183f8d..972e31e6 100644 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -127,6 +127,7 @@ #if defined(OS_ANDROID) #include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h" +#include "chrome/browser/android/search_geolocation/search_geolocation_service.h" #else #include "chrome/browser/ui/global_error/global_error_service_factory.h" #include "chrome/browser/usb/usb_chooser_context_factory.h" @@ -320,6 +321,9 @@ prerender::PrerenderMessageFilter::EnsureShutdownNotifierFactoryBuilt(); ProfileSyncServiceFactory::GetInstance(); ProtocolHandlerRegistryFactory::GetInstance(); +#if defined(OS_ANDROID) + SearchGeolocationService::Factory::GetInstance(); +#endif #if BUILDFLAG(ENABLE_SESSION_SERVICE) SessionServiceFactory::GetInstance(); #endif
diff --git a/chrome/browser/resources/help/channel_change_page.html b/chrome/browser/resources/help/channel_change_page.html index cbf025a..67b16cf 100644 --- a/chrome/browser/resources/help/channel_change_page.html +++ b/chrome/browser/resources/help/channel_change_page.html
@@ -1,53 +1,51 @@ <div id="channel-change-page" class="page" hidden> <div class="close-button"></div> - <h1 i18n-content="channelChangePageTitle"></h1> + <h1>$i18n{channelChangePageTitle}</h1> <div class="content-area"> <div class="channel-change-page-channel radio"> <input id="channel-change-page-stable-option" type="radio" name="channel" value="stable-channel"> - <label for="channel-change-page-stable-option" i18n-content="stable"> - </label> + <label for="channel-change-page-stable-option">$i18n{stable}</label> </div> <div class="channel-change-page-channel radio"> <input id="channel-change-page-beta-option" type="radio" name="channel" value="beta-channel"> - <label for="channel-change-page-beta-option" i18n-content="beta"></label> + <label for="channel-change-page-beta-option">$i18n{beta}</label> </div> <div class="channel-change-page-channel radio"> <input id="channel-change-page-dev-option" type="radio" name="channel" value="dev-channel"> - <label for="channel-change-page-dev-option" i18n-content="dev"></label> + <label for="channel-change-page-dev-option">$i18n{dev}</label> </div> </div> <div class="content-area"> <div class="show-when-selected-channel-requires-powerwash"> - <h2 i18n-content="channelChangePagePowerwashTitle"></h2> - <div i18n-content="channelChangePagePowerwashMessage"></div> + <h2>$i18n{channelChangePagePowerwashTitle}</h2> + <div>$i18n{channelChangePagePowerwashMessage}</div> </div> <div class="show-when-selected-channel-requires-delayed-update"> - <h2 i18n-content="channelChangePageDelayedChangeTitle"></h2> - <div i18n-content="channelChangePageDelayedChangeMessage"></div> + <h2>$i18n{channelChangePageDelayedChangeTitle}</h2> + <div>$i18n{channelChangePageDelayedChangeMessage}</div> </div> <div class="show-when-selected-channel-unstable"> - <h2 i18n-content="channelChangePageUnstableTitle"></h2> - <div i18n-content="channelChangePageUnstableMessage"></div> + <h2>$i18n{channelChangePageUnstableTitle}</h2> + <div>$i18n{channelChangePageUnstableMessage}</div> </div> </div> <div class="action-area"> <div class="button-strip"> <button id="channel-change-page-powerwash-button" - class="show-when-selected-channel-requires-powerwash" - i18n-content="channelChangePagePowerwashButton"> + class="show-when-selected-channel-requires-powerwash"> + $i18n{channelChangePagePowerwashButton} </button> <button id="channel-change-page-change-button" class="show-when-selected-channel-requires-delayed-update show-when-selected-channel-good - show-when-selected-channel-unstable" - i18n-content="channelChangePageChangeButton"> + show-when-selected-channel-unstable"> + $i18n{channelChangePageChangeButton} </button> - <button id="channel-change-page-cancel-button" - class="default-button" - i18n-content="channelChangePageCancelButton"> + <button id="channel-change-page-cancel-button" class="default-button"> + $i18n{channelChangePageCancelButton} </button> </div> </div>
diff --git a/chrome/browser/resources/help/help.html b/chrome/browser/resources/help/help.html index b5103b8..0124090e 100644 --- a/chrome/browser/resources/help/help.html +++ b/chrome/browser/resources/help/help.html
@@ -2,7 +2,7 @@ <html i18n-values="dir:textdirection;lang:language"> <head> <meta charset="utf-8"> - <title i18n-content="aboutTitle"></title> + <title>$i18n{aboutTitle}</title> <link rel="stylesheet" href="chrome://resources/css/chrome_shared.css"> <link rel="stylesheet" href="../uber/uber_shared.css"> <link rel="stylesheet" href="help.css"> @@ -34,7 +34,7 @@ </head> <body class="uber-frame"> <header> - <h1 i18n-content="aboutTitle"></h1> + <h1>$i18n{aboutTitle}</h1> </header> <if expr="chromeos"> <div id="overlay-container-1" class="overlay transparent" hidden>
diff --git a/chrome/browser/resources/help/help_content.html b/chrome/browser/resources/help/help_content.html index a093768..1c82f60 100644 --- a/chrome/browser/resources/help/help_content.html +++ b/chrome/browser/resources/help/help_content.html
@@ -4,44 +4,42 @@ chrome://theme/current-channel-logo@2x 2x" alt=""> <div id="product-description"> - <h2 i18n-content="aboutProductTitle"></h2> - <span i18n-content="aboutProductDescription"></span> + <h2>$i18n{aboutProductTitle}</h2> + <span>$i18n{aboutProductDescription}</span> </div> </div> <div id="help-container"> - <button id="get-help" i18n-content="getHelpWithChrome"></button> + <button id="get-help">$i18n{getHelpWithChrome}</button> <if expr="_google_chrome"> - <button id="report-issue" i18n-content="reportAnIssue"></button> + <button id="report-issue">$i18n{reportAnIssue}</button> </if> </div> <div id="version-container"> <div> - <span i18n-content="browserVersion" dir="ltr"></span> + <span dir="ltr">$i18n{browserVersion}</span> </div> <if expr="chromeos"> <div> - <span i18n-content="platform"></span> <span id="os-version"></span> + <span>$i18n{platform}</span> <span id="os-version"></span> </div> <div> - <span i18n-content="arcVersion"> - </span> <span id="arc-version"></span> + <span>$i18n{arcVersion}</span> <span id="arc-version"></span> </div> <div> - <span i18n-content="firmware"></span> <span id="firmware"></span> + <span>$i18n{firmware}</span> <span id="firmware"></span> </div> </if> <if expr="chromeos or _google_chrome or is_linux"> <div id="update-status-container" hidden> <div id="update-status-icon" class="help-page-icon up-to-date"></div> <div id="update-status-message-container"> - <div id="update-status-message" i18n-content="updateCheckStarted"> - </div> + <div id="update-status-message">$i18n{updateCheckStarted}</div> <if expr="is_macosx or is_win"> <div id="update-obsolete-system-container" hidden> - <span id="update-obsolete-system" - i18n-content="updateObsoleteSystem"></span> - <a i18n-values="href:updateObsoleteSystemURL" - i18n-content="learnMore" target="_blank"></a> + <span id="update-obsolete-system">$i18n{updateObsoleteSystem}</span> + <a i18n-values="href:updateObsoleteSystemURL" target="_blank"> + $i18n{learnMore} + </a> </div> </if> <div id="allowed-connection-types-message" hidden></div> @@ -52,22 +50,21 @@ <div id="eol-status-icon" class="help-page-icon"></div> <div id="eol-status-message-container"> <div id="eol-message"></div> - <div id="eol-learnMore" i18n-content="eolLearnMore"></div> + <div id="eol-learnMore">$i18n{eolLearnMore}</div> </div> </div> </if> <div id="update-buttons-container"> <div id="update-percentage" hidden></div> <if expr="is_macosx"> - <button id="promote" i18n-content="promote" hidden></button> + <button id="promote" hidden>$i18n{promote}</button> </if> - <button id="relaunch" i18n-content="relaunch" hidden></button> + <button id="relaunch" hidden>$i18n{relaunch}</button> <if expr="chromeos"> - <button id="relaunch-and-powerwash" - i18n-content="relaunchAndPowerwash" hidden> + <button id="relaunch-and-powerwash" hidden> + $i18n{relaunchAndPowerwash} </button> - <button id="request-update" i18n-content="updateButton"> - </button> + <button id="request-update">$i18n{updateButton}</button> <div id="controlled-feature-icon" class="help-page-icon" hidden></div> </if> </div> @@ -75,51 +72,52 @@ <if expr="chromeos"> <div id="more-info-container"> <section id="channel-changer-container" hidden> - <h3 i18n-content="channel"></h3> + <h3>$i18n{channel}</h3> <select id="channel-changer"> - <option value="stable-channel" i18n-content="stable"></option> - <option value="beta-channel" i18n-content="beta"></option> - <option value="dev-channel" i18n-content="dev"></option> + <option value="stable-channel">$i18n{stable}</option> + <option value="beta-channel">$i18n{beta}</option> + <option value="dev-channel">$i18n{dev}</option> </select> <div id="channel-change-confirmation" hidden></div> </section> <section id="channel-change-page-container" hidden> - <h3 i18n-content="channel"></h3> + <h3>$i18n{channel}</h3> <div id="current-channel"></div> <div> - <span id="dev-channel-disclaimer" i18n-content="devChannelDisclaimer" - hidden></span> + <span id="dev-channel-disclaimer" hidden> + $i18n{devChannelDisclaimer} + </span> </div> - <button id="change-channel" - i18n-content="channelChangeButton" disabled> + <button id="change-channel" disabled> + $i18n{channelChangeButton} </button> <div id="channel-change-disallowed-icon" class="help-page-icon" hidden> </div> </section> <section> - <h3 i18n-content="jsEngine" dir="ltr"></h3> - <div i18n-content="jsEngineVersion"></div> + <h3 dir="ltr">$i18n{jsEngine}</h3> + <div>$i18n{jsEngineVersion}</div> </section> <section> - <h3 i18n-content="userAgent"></h3> - <div i18n-content="userAgentInfo" dir="ltr"></div> + <h3>$i18n{userAgent}</h3> + <div dir="ltr">$i18n{userAgentInfo}</div> </section> <section> - <h3 i18n-content="commandLine"></h3> - <div i18n-content="commandLineInfo" dir="ltr"></div> + <h3>$i18n{commandLine}</h3> + <div dir="ltr">$i18n{commandLineInfo}</div> </section> <section id="build-date-container" class="empty"> - <h3 i18n-content="buildDate"></h3> + <h3>$i18n{buildDate}</h3> <div id="build-date"></div> </section> </div> - <a is="action-link" id="more-info-expander" i18n-content="showMoreInfo"></a> + <a is="action-link" id="more-info-expander">$i18n{showMoreInfo}</a> </if> </div> <div id="product-container"> - <div i18n-content="productName"></div> - <div i18n-content="productCopyright"></div> + <div>$i18n{productName}</div> + <div>$i18n{productCopyright}</div> <div id="product-license"></div> <if expr="chromeos"> <div id="product-os-license"></div>
diff --git a/chrome/browser/resources/help/help_page.html b/chrome/browser/resources/help/help_page.html index 9825355b..79dcb07 100644 --- a/chrome/browser/resources/help/help_page.html +++ b/chrome/browser/resources/help/help_page.html
@@ -1,11 +1,10 @@ <div id="help-page" class="page" hidden> <div class="close-button"></div> - <h1 i18n-content="aboutTitle"></h1> + <h1>$i18n{aboutTitle}</h1> <include src="help_content.html"> <div class="action-area"> <div class="button-strip"> - <button id="about-done" class="default-button" i18n-content="done"> - </button> + <button id="about-done" class="default-button">$i18n{done}</button> </div> </div> </div>
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc index 9d5e9a29..e60041c 100644 --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc
@@ -2357,4 +2357,8 @@ "search_geolocation_post_disclosure_metrics_recorded"; #endif +// A dictionary which stores whether location access is enabled for the current +// default search engine, if it is the Google search engine. +const char kGoogleDSEGeolocationSetting[] = "google_dse_geolocation_setting"; + } // namespace prefs
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h index 2f4cf12..67f9145 100644 --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h
@@ -867,6 +867,8 @@ extern const char kSearchGeolocationPostDisclosureMetricsRecorded[]; #endif +extern const char kGoogleDSEGeolocationSetting[]; + } // namespace prefs #endif // CHROME_COMMON_PREF_NAMES_H_
diff --git a/components/arc/arc_service_manager.cc b/components/arc/arc_service_manager.cc index f2a81d15..00177619 100644 --- a/components/arc/arc_service_manager.cc +++ b/components/arc/arc_service_manager.cc
@@ -20,33 +20,9 @@ } // namespace -class ArcServiceManager::IntentHelperObserverImpl - : public ArcIntentHelperObserver { - public: - explicit IntentHelperObserverImpl(ArcServiceManager* manager); - ~IntentHelperObserverImpl() override = default; - - private: - void OnIntentFiltersUpdated() override; - ArcServiceManager* const manager_; - - DISALLOW_COPY_AND_ASSIGN(IntentHelperObserverImpl); -}; - -ArcServiceManager::IntentHelperObserverImpl::IntentHelperObserverImpl( - ArcServiceManager* manager) - : manager_(manager) {} - -void ArcServiceManager::IntentHelperObserverImpl::OnIntentFiltersUpdated() { - DCHECK(manager_->thread_checker_.CalledOnValidThread()); - for (auto& observer : manager_->observer_list_) - observer.OnIntentFiltersUpdated(); -} - ArcServiceManager::ArcServiceManager( scoped_refptr<base::TaskRunner> blocking_task_runner) : blocking_task_runner_(blocking_task_runner), - intent_helper_observer_(base::MakeUnique<IntentHelperObserverImpl>(this)), arc_bridge_service_(base::MakeUnique<ArcBridgeService>()), icon_loader_(new ActivityIconLoader()), activity_resolver_(new LocalActivityResolver()) { @@ -68,14 +44,6 @@ return g_arc_service_manager; } -// static -bool ArcServiceManager::IsInitialized() { - if (!g_arc_service_manager) - return false; - DCHECK(g_arc_service_manager->thread_checker_.CalledOnValidThread()); - return true; -} - ArcBridgeService* ArcServiceManager::arc_bridge_service() { DCHECK(thread_checker_.CalledOnValidThread()); return arc_bridge_service_.get(); @@ -109,16 +77,6 @@ return service->second.get(); } -void ArcServiceManager::AddObserver(Observer* observer) { - DCHECK(thread_checker_.CalledOnValidThread()); - observer_list_.AddObserver(observer); -} - -void ArcServiceManager::RemoveObserver(Observer* observer) { - DCHECK(thread_checker_.CalledOnValidThread()); - observer_list_.RemoveObserver(observer); -} - void ArcServiceManager::Shutdown() { DCHECK(thread_checker_.CalledOnValidThread()); icon_loader_ = nullptr;
diff --git a/components/arc/arc_service_manager.h b/components/arc/arc_service_manager.h index 7db5fe7..31d2b23 100644 --- a/components/arc/arc_service_manager.h +++ b/components/arc/arc_service_manager.h
@@ -14,7 +14,6 @@ #include "base/macros.h" #include "base/memory/ref_counted.h" -#include "base/observer_list.h" #include "base/task_runner.h" #include "base/threading/thread_checker.h" #include "components/arc/intent_helper/activity_icon_loader.h" @@ -23,7 +22,6 @@ namespace arc { class ArcBridgeService; -class ArcIntentHelperObserver; class ArcService; namespace internal { @@ -64,15 +62,6 @@ // instance via the ArcBridgeService. class ArcServiceManager { public: - class Observer { - public: - // Called when intent filters are added or removed. - virtual void OnIntentFiltersUpdated() = 0; - - protected: - virtual ~Observer() = default; - }; - explicit ArcServiceManager( scoped_refptr<base::TaskRunner> blocking_task_runner); ~ArcServiceManager(); @@ -98,19 +87,19 @@ return static_cast<T*>(GetNamedServiceInternal(T::kArcServiceName)); } + // Does the same as GetService(), but with the global instance. Return nullptr + // when the instance hasn't been created or has already been destructed. + template <typename T> static T* GetGlobalService() { + auto* service_manager = ArcServiceManager::Get(); + if (!service_manager) + return nullptr; + return service_manager->GetService<T>(); + } + // Gets the global instance of the ARC Service Manager. This can only be // called on the thread that this class was created on. static ArcServiceManager* Get(); - // Returns if the ARC Service Manager instance exists. - // DO NOT CALL THIS. This function is a dirty workaround for properly shutting - // down chrome/browser/chromeos/extensions/file_manager/event_router.cc, and - // will likely be removed in the future. - static bool IsInitialized(); - - void AddObserver(Observer* observer); - void RemoveObserver(Observer* observer); - // Called to shut down all ARC services. void Shutdown(); @@ -126,11 +115,6 @@ return activity_resolver_; } - // Returns the IntentHelperObserver instance owned by ArcServiceManager. - ArcIntentHelperObserver* intent_helper_observer() { - return intent_helper_observer_.get(); - } - private: class IntentHelperObserverImpl; // implemented in arc_service_manager.cc. @@ -142,16 +126,11 @@ base::ThreadChecker thread_checker_; scoped_refptr<base::TaskRunner> blocking_task_runner_; - // An object for observing the ArcIntentHelper instance in |services_|. - std::unique_ptr<ArcIntentHelperObserver> intent_helper_observer_; - std::unique_ptr<ArcBridgeService> arc_bridge_service_; std::unordered_multimap<std::string, std::unique_ptr<ArcService>> services_; scoped_refptr<ActivityIconLoader> icon_loader_; scoped_refptr<LocalActivityResolver> activity_resolver_; - base::ObserverList<Observer> observer_list_; - DISALLOW_COPY_AND_ASSIGN(ArcServiceManager); };
diff --git a/components/arc/arc_service_manager_unittest.cc b/components/arc/arc_service_manager_unittest.cc index 98c4db8..120d5ac 100644 --- a/components/arc/arc_service_manager_unittest.cc +++ b/components/arc/arc_service_manager_unittest.cc
@@ -179,4 +179,31 @@ EXPECT_FALSE(empty_named_service_alive); } +// Tests if GetGlobalService works as expected regardless of whether the +// global pointer is null. +TEST_F(ArcServiceManagerTest, TestGetGlobalService) { + // The getter should return nullptr when no global instance is available. + EXPECT_EQ(nullptr, ArcServiceManager::GetGlobalService<NamedService>()); + + // Create a manager. This will automatically be registered as a global + // instance. + auto manager = base::MakeUnique<ArcServiceManager>(nullptr); + + // The getter should return nullptr when the manager doesn't know about the + // NamedService instance. + EXPECT_EQ(nullptr, ArcServiceManager::GetGlobalService<NamedService>()); + + // Register the instance and retry. The getter should return non-null this + // time. + bool unused; + EXPECT_TRUE(manager->AddService(base::MakeUnique<NamedService>( + arc_bridge_service(), &unused))); + EXPECT_NE(nullptr, ArcServiceManager::GetGlobalService<NamedService>()); + + // Remove the global instance. The same GetGlobalService() call should return + // nullptr now. + manager.reset(); + EXPECT_EQ(nullptr, ArcServiceManager::GetGlobalService<NamedService>()); +} + } // namespace arc
diff --git a/components/arc/intent_helper/arc_intent_helper_bridge.cc b/components/arc/intent_helper/arc_intent_helper_bridge.cc index b4519b5..eae327e 100644 --- a/components/arc/intent_helper/arc_intent_helper_bridge.cc +++ b/components/arc/intent_helper/arc_intent_helper_bridge.cc
@@ -24,6 +24,10 @@ namespace arc { // static +const char ArcIntentHelperBridge::kArcServiceName[] = + "arc::ArcIntentHelperBridge"; + +// static const char ArcIntentHelperBridge::kArcIntentHelperPackageName[] = "org.chromium.arc.intent_helper";
diff --git a/components/arc/intent_helper/arc_intent_helper_bridge.h b/components/arc/intent_helper/arc_intent_helper_bridge.h index 75219f4..2a3a567 100644 --- a/components/arc/intent_helper/arc_intent_helper_bridge.h +++ b/components/arc/intent_helper/arc_intent_helper_bridge.h
@@ -86,6 +86,9 @@ // false and updates |out_error_code| if it's not nullptr. static bool IsIntentHelperAvailable(GetResult* out_error_code); + // For supporting ArcServiceManager::GetService<T>(). + static const char kArcServiceName[]; + static const char kArcIntentHelperPackageName[]; private:
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc index f2abca3..76cd60c 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -2298,9 +2298,10 @@ GetInputMethod()->OnTextInputTypeChanged(this); const TextInputState* state = text_input_manager_->GetTextInputState(); - if (state && state->show_ime_if_needed) + if (state && state->show_ime_if_needed && + GetInputMethod()->GetTextInputClient() == this) { GetInputMethod()->ShowImeIfNeeded(); - + } if (state && state->type != ui::TEXT_INPUT_TYPE_NONE) { // Start monitoring the composition information if the focused node is
diff --git a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc index 8873d30..870d904 100644 --- a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc +++ b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
@@ -23,6 +23,7 @@ {true, "video/webm;codecs=VP8"}, {true, "video/webm;codecs=VP9"}, {true, "video/x-matroska;codecs=AVC1"}, + {false, ""}, // Instructs the platform to choose any accelerated codec. {false, "video/webm;codecs=VP8"}, {false, "video/webm;codecs=VP9"}, {false, "video/x-matroska;codecs=AVC1"},
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn index 4bb9f3d..b268ad01 100644 --- a/content/renderer/BUILD.gn +++ b/content/renderer/BUILD.gn
@@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/chromecast_build.gni") import("//build/config/features.gni") import("//build/config/ui.gni") import("//media/media_options.gni") @@ -908,6 +909,10 @@ if (enable_ipc_fuzzer) { configs += [ "//tools/ipc_fuzzer:ipc_fuzzer_config" ] } + + if (is_chromecast) { + defines += [ "MEDIA_EVENT_LOG_UTILITY=VLOG(1)" ] + } } # See comment at the top of //content/BUILD.gn for how this works.
diff --git a/content/renderer/media/media_recorder_handler.cc b/content/renderer/media/media_recorder_handler.cc index cea6710b..7122a54b 100644 --- a/content/renderer/media/media_recorder_handler.cc +++ b/content/renderer/media/media_recorder_handler.cc
@@ -42,6 +42,8 @@ return media::kCodecVP9; case VideoTrackRecorder::CodecId::H264: return media::kCodecH264; + case VideoTrackRecorder::CodecId::LAST: + return media::kUnknownVideoCodec; } NOTREACHED() << "Unsupported codec"; return media::kUnknownVideoCodec; @@ -119,8 +121,7 @@ UpdateWebRTCMethodCount(WEBKIT_MEDIA_STREAM_RECORDER); if (!canSupportMimeType(type, codecs)) { - DLOG(ERROR) << "Can't support " << type.utf8() - << ";codecs=" << codecs.utf8(); + DLOG(ERROR) << "Unsupported " << type.utf8() << ";codecs=" << codecs.utf8(); return false; } @@ -136,6 +137,11 @@ else if (codecs_str.find("avc1") != std::string::npos) codec_id_ = VideoTrackRecorder::CodecId::H264; #endif + else + codec_id_ = VideoTrackRecorder::GetPreferredCodecId(); + + DVLOG_IF(1, codecs_str.empty()) << "Falling back to preferred codec id " + << static_cast<int>(codec_id_); media_stream_ = media_stream; DCHECK(client);
diff --git a/content/renderer/media/video_track_recorder.cc b/content/renderer/media/video_track_recorder.cc index 011c633..4d59ebe 100644 --- a/content/renderer/media/video_track_recorder.cc +++ b/content/renderer/media/video_track_recorder.cc
@@ -60,60 +60,98 @@ // encoders. const int kVEAEncoderOutputBufferCount = 4; -static struct { - VideoTrackRecorder::CodecId codec_id; +using CodecId = VideoTrackRecorder::CodecId; + +static const struct { + CodecId codec_id; media::VideoCodecProfile min_profile; media::VideoCodecProfile max_profile; -} const kSupportedVideoCodecIdToProfile[] = { - {VideoTrackRecorder::CodecId::VP8, - media::VP8PROFILE_MIN, - media::VP8PROFILE_MAX}, - {VideoTrackRecorder::CodecId::VP9, - media::VP9PROFILE_MIN, - media::VP9PROFILE_MAX}, - {VideoTrackRecorder::CodecId::H264, - media::H264PROFILE_MIN, - media::H264PROFILE_MAX}}; +} kPreferredCodecIdAndVEAProfiles[] = { + {CodecId::VP8, media::VP8PROFILE_MIN, media::VP8PROFILE_MAX}, + {CodecId::VP9, media::VP9PROFILE_MIN, media::VP9PROFILE_MAX}, + {CodecId::H264, media::H264PROFILE_MIN, media::H264PROFILE_MAX}}; -// Returns the corresponding codec profile from VEA supported codecs. If no -// profile is found, returns VIDEO_CODEC_PROFILE_UNKNOWN. -media::VideoCodecProfile CodecIdToVEAProfile( - content::VideoTrackRecorder::CodecId codec) { - // See https://crbug.com/616659. +static_assert(arraysize(kPreferredCodecIdAndVEAProfiles) == + static_cast<int>(CodecId::LAST), + "|kPreferredCodecIdAndVEAProfiles| should consider all CodecIds"); + +// Class to encapsulate the enumeration of CodecIds/VideoCodecProfiles supported +// by the VEA underlying platform. Provides methods to query the preferred +// CodecId and to check if a given CodecId is supported. +class CodecEnumerator { + public: + CodecEnumerator(); + ~CodecEnumerator() = default; + + // Returns the first CodecId that has an associated VEA VideoCodecProfile, or + // VP8 if none available. + CodecId GetPreferredCodecId(); + + // Returns the VEA VideoCodedProfile for a given CodecId, if supported, or + // VIDEO_CODEC_PROFILE_UNKNOWN otherwise. + media::VideoCodecProfile CodecIdToVEAProfile(CodecId codec); + + private: + // A map of VEA-supported CodecId-and-VEA-profile pairs. + std::map<CodecId, media::VideoCodecProfile> codec_id_to_profile_; + + DISALLOW_COPY_AND_ASSIGN(CodecEnumerator); +}; + +static base::LazyInstance<CodecEnumerator>::Leaky g_codec_enumerator = + LAZY_INSTANCE_INITIALIZER; + +CodecEnumerator::CodecEnumerator() { #if defined(OS_CHROMEOS) - return media::VIDEO_CODEC_PROFILE_UNKNOWN; -#endif // defined(OS_CHROMEOS) + // See https://crbug.com/616659. + return; +#endif -// See https://crbug.com/653864. #if defined(OS_ANDROID) - return media::VIDEO_CODEC_PROFILE_UNKNOWN; -#endif // defined(OS_ANDROID) + // See https://crbug.com/653864. + return; +#endif content::RenderThreadImpl* const render_thread_impl = content::RenderThreadImpl::current(); if (!render_thread_impl) { - DVLOG(3) << "Couldn't access the render thread"; - return media::VIDEO_CODEC_PROFILE_UNKNOWN; + DVLOG(2) << "Couldn't access the render thread"; + return; } media::GpuVideoAcceleratorFactories* const gpu_factories = render_thread_impl->GetGpuFactories(); if (!gpu_factories || !gpu_factories->IsGpuVideoAcceleratorEnabled()) { - DVLOG(3) << "Couldn't initialize GpuVideoAcceleratorFactories"; - return media::VIDEO_CODEC_PROFILE_UNKNOWN; + DVLOG(2) << "Couldn't initialize GpuVideoAcceleratorFactories"; + return; } - const media::VideoEncodeAccelerator::SupportedProfiles& vea_profiles = + const auto vea_supported_profiles = gpu_factories->GetVideoEncodeAcceleratorSupportedProfiles(); - for (const auto& vea_profile : vea_profiles) { - for (const auto& supported_profile : kSupportedVideoCodecIdToProfile) { - if (codec == supported_profile.codec_id && - vea_profile.profile >= supported_profile.min_profile && - vea_profile.profile <= supported_profile.max_profile) - return vea_profile.profile; + for (const auto& supported_profile : vea_supported_profiles) { + for (auto& codec_id_and_profile : kPreferredCodecIdAndVEAProfiles) { + if (supported_profile.profile >= codec_id_and_profile.min_profile && + supported_profile.profile <= codec_id_and_profile.max_profile) { + DVLOG(2) << "Accelerated codec found: " + << media::GetProfileName(supported_profile.profile); + codec_id_to_profile_.insert(std::make_pair( + codec_id_and_profile.codec_id, supported_profile.profile)); + } } } - return media::VIDEO_CODEC_PROFILE_UNKNOWN; +} + +CodecId CodecEnumerator::GetPreferredCodecId() { + if (codec_id_to_profile_.empty()) + return CodecId::VP8; + return codec_id_to_profile_.begin()->first; +} + +media::VideoCodecProfile CodecEnumerator::CodecIdToVEAProfile(CodecId codec) { + const auto profile = codec_id_to_profile_.find(codec); + return profile == codec_id_to_profile_.end() + ? media::VIDEO_CODEC_PROFILE_UNKNOWN + : profile->second; } } // anonymous namespace @@ -1075,6 +1113,11 @@ } // anonymous namespace +// static +VideoTrackRecorder::CodecId VideoTrackRecorder::GetPreferredCodecId() { + return g_codec_enumerator.Get().GetPreferredCodecId(); +} + VideoTrackRecorder::VideoTrackRecorder( CodecId codec, const blink::WebMediaStreamTrack& track, @@ -1143,7 +1186,8 @@ MediaStreamVideoSink::DisconnectFromTrack(); const gfx::Size& input_size = frame->visible_rect().size(); - const auto& vea_supported_profile = CodecIdToVEAProfile(codec); + const auto& vea_supported_profile = + g_codec_enumerator.Get().CodecIdToVEAProfile(codec); if (vea_supported_profile != media::VIDEO_CODEC_PROFILE_UNKNOWN && input_size.width() >= kVEAEncoderMinResolutionWidth && input_size.height() >= kVEAEncoderMinResolutionHeight) {
diff --git a/content/renderer/media/video_track_recorder.h b/content/renderer/media/video_track_recorder.h index e1db7fcf..d0f2c2a 100644 --- a/content/renderer/media/video_track_recorder.h +++ b/content/renderer/media/video_track_recorder.h
@@ -37,10 +37,12 @@ class CONTENT_EXPORT VideoTrackRecorder : NON_EXPORTED_BASE(public MediaStreamVideoSink) { public: + // Do not change the order of codecs; add new ones right before LAST. enum class CodecId { VP8, VP9, H264, + LAST }; class Encoder; @@ -50,6 +52,8 @@ base::TimeTicks capture_timestamp, bool is_key_frame)>; + static CodecId GetPreferredCodecId(); + VideoTrackRecorder(CodecId codec, const blink::WebMediaStreamTrack& track, const OnEncodedVideoCB& on_encoded_video_cb,
diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc index 7b6c725..47c85f4b 100644 --- a/gpu/config/software_rendering_list_json.cc +++ b/gpu/config/software_rendering_list_json.cc
@@ -18,7 +18,7 @@ { "name": "software rendering list", // Please update the version number whenever you change this file. - "version": "12.08", + "version": "12.09", "entries": [ { "id": 1, @@ -1435,12 +1435,12 @@ { "id": 130, "description": "Older NVIDIA GPUs on macOS render incorrectly", - "cr_bugs": [676975], + "cr_bugs": [676829, 676975], "os": { "type": "macosx" }, "vendor_id": "0x10de", - "device_id": ["0x0407"], + "device_id": ["0x0407", "0x0647", "0x0863"], "features": [ "all" ]
diff --git a/ppapi/cpp/dev/buffer_dev.cc b/ppapi/cpp/dev/buffer_dev.cc index 5435afd..cc91cae 100644 --- a/ppapi/cpp/dev/buffer_dev.cc +++ b/ppapi/cpp/dev/buffer_dev.cc
@@ -64,6 +64,8 @@ if (data_) return; } + + Clear(); data_ = NULL; size_ = 0; }
diff --git a/services/ui/display/screen_manager_ozone.cc b/services/ui/display/screen_manager_ozone.cc index e48d6a1..9a8a041 100644 --- a/services/ui/display/screen_manager_ozone.cc +++ b/services/ui/display/screen_manager_ozone.cc
@@ -14,6 +14,7 @@ #include "services/service_manager/public/cpp/interface_registry.h" #include "third_party/skia/include/core/SkColor.h" #include "ui/display/manager/chromeos/display_change_observer.h" +#include "ui/display/manager/chromeos/touch_transform_controller.h" #include "ui/display/manager/display_layout_store.h" #include "ui/display/manager/display_manager_utilities.h" #include "ui/display/screen.h" @@ -63,6 +64,8 @@ // We are shutting down and don't want to make anymore display changes. fake_display_controller_ = nullptr; + touch_transform_controller_.reset(); + if (display_manager_) display_manager_->RemoveObserver(this); @@ -180,6 +183,9 @@ // Perform initial configuration. display_configurator_.Init(std::move(native_display_delegate_), false); display_configurator_.ForceInitialConfigure(kChromeOsBootColor); + + touch_transform_controller_ = base::MakeUnique<TouchTransformController>( + &display_configurator_, display_manager_.get()); } void ScreenManagerOzone::RequestCloseDisplay(int64_t display_id) { @@ -356,6 +362,8 @@ } } + touch_transform_controller_->UpdateTouchTransforms(); + DVLOG(1) << "PostDisplayConfigurationChange"; }
diff --git a/services/ui/display/screen_manager_ozone.h b/services/ui/display/screen_manager_ozone.h index bc86427..a0d6aaa 100644 --- a/services/ui/display/screen_manager_ozone.h +++ b/services/ui/display/screen_manager_ozone.h
@@ -28,6 +28,7 @@ class DisplayChangeObserver; class FakeDisplayController; class ScreenBase; +class TouchTransformController; // ScreenManagerOzone provides the necessary functionality to configure all // attached physical displays on the ozone platform. @@ -96,6 +97,7 @@ DisplayConfigurator display_configurator_; std::unique_ptr<DisplayManager> display_manager_; std::unique_ptr<DisplayChangeObserver> display_change_observer_; + std::unique_ptr<TouchTransformController> touch_transform_controller_; ScreenBase* screen_ = nullptr; ScreenManagerDelegate* delegate_ = nullptr;
diff --git a/services/ui/service.cc b/services/ui/service.cc index 2e7f078a..2e789c89 100644 --- a/services/ui/service.cc +++ b/services/ui/service.cc
@@ -191,12 +191,6 @@ // Gpu must be running before the ScreenManager can be initialized. window_server_.reset(new ws::WindowServer(this)); - // DeviceDataManager must be initialized before TouchController. On non-Linux - // platforms there is no DeviceDataManager so don't create touch controller. - if (ui::DeviceDataManager::HasInstance()) - touch_controller_.reset( - new ws::TouchController(window_server_->display_manager())); - ime_server_.Init(context()->connector(), test_config_); discardable_shared_memory_manager_ = @@ -263,11 +257,6 @@ return test_config_; } -void Service::UpdateTouchTransforms() { - if (touch_controller_) - touch_controller_->UpdateTouchTransforms(); -} - void Service::Create(const service_manager::Identity& remote_identity, mojom::AccessibilityManagerRequest request) { UserState* user_state = GetUserState(remote_identity);
diff --git a/services/ui/service.h b/services/ui/service.h index a33ce828..7bd35c2 100644 --- a/services/ui/service.h +++ b/services/ui/service.h
@@ -33,7 +33,6 @@ #include "services/ui/public/interfaces/window_tree.mojom.h" #include "services/ui/public/interfaces/window_tree_host.mojom.h" #include "services/ui/ws/platform_display_init_params.h" -#include "services/ui/ws/touch_controller.h" #include "services/ui/ws/user_id.h" #include "services/ui/ws/window_server_delegate.h" @@ -111,7 +110,6 @@ void OnFirstDisplayReady() override; void OnNoMoreDisplays() override; bool IsTestConfig() const override; - void UpdateTouchTransforms() override; // service_manager::InterfaceFactory<mojom::AccessibilityManager> // implementation. @@ -191,7 +189,6 @@ // interfaces and must outlive service_manager::InterfaceRegistry. std::unique_ptr<display::ScreenManager> screen_manager_; - std::unique_ptr<ws::TouchController> touch_controller_; IMERegistrarImpl ime_registrar_; IMEServerImpl ime_server_;
diff --git a/services/ui/ws/BUILD.gn b/services/ui/ws/BUILD.gn index d4f5f07a..ac4b8ec 100644 --- a/services/ui/ws/BUILD.gn +++ b/services/ui/ws/BUILD.gn
@@ -64,8 +64,6 @@ "server_window_drawn_tracker_observer.h", "server_window_observer.h", "server_window_tracker.h", - "touch_controller.cc", - "touch_controller.h", "user_activity_monitor.cc", "user_activity_monitor.h", "user_display_manager.cc",
diff --git a/services/ui/ws/display_manager.cc b/services/ui/ws/display_manager.cc index f8d6271..199e1ae 100644 --- a/services/ui/ws/display_manager.cc +++ b/services/ui/ws/display_manager.cc
@@ -180,8 +180,6 @@ ws::Display* display = new ws::Display(window_server_); display->Init(params, nullptr); - - window_server_->delegate()->UpdateTouchTransforms(); } void DisplayManager::OnDisplayRemoved(int64_t id) {
diff --git a/services/ui/ws/test_utils.h b/services/ui/ws/test_utils.h index 808f16f1..edf76fff 100644 --- a/services/ui/ws/test_utils.h +++ b/services/ui/ws/test_utils.h
@@ -554,7 +554,6 @@ mojom::WindowTreeRequest* tree_request, mojom::WindowTreeClientPtr* client) override; bool IsTestConfig() const override; - void UpdateTouchTransforms() override {} private: WindowServer* window_server_ = nullptr;
diff --git a/services/ui/ws/touch_controller.cc b/services/ui/ws/touch_controller.cc deleted file mode 100644 index 2037b6f..0000000 --- a/services/ui/ws/touch_controller.cc +++ /dev/null
@@ -1,105 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "services/ui/ws/touch_controller.h" - -#include <set> -#include <vector> - -#include "base/logging.h" -#include "services/ui/ws/display.h" -#include "services/ui/ws/display_manager.h" -#include "ui/events/devices/device_data_manager.h" -#include "ui/events/devices/touchscreen_device.h" -#include "ui/gfx/geometry/size.h" -#include "ui/gfx/transform.h" - -namespace ui { -namespace ws { - -namespace { - -// Computes the scale ratio for the TouchEvent's radius. -double ComputeTouchResolutionScale(const Display* touch_display, - const ui::TouchscreenDevice& touch_device) { - gfx::Size touch_display_size = touch_display->GetSize(); - - if (touch_device.size.IsEmpty() || touch_display_size.IsEmpty()) - return 1.0; - - double display_area = touch_display_size.GetArea(); - double touch_area = touch_device.size.GetArea(); - double ratio = std::sqrt(display_area / touch_area); - - return ratio; -} - -// Computes a touch transform that maps from window bounds to touchscreen size. -// Assumes scale factor of 1.0. -gfx::Transform ComputeTouchTransform( - const Display* touch_display, - const ui::TouchscreenDevice& touch_device) { - gfx::Size touch_display_size = touch_display->GetSize(); - - gfx::SizeF current_size(touch_display_size); - gfx::SizeF touch_area(touch_device.size); - gfx::Transform transform; - - if (current_size.IsEmpty() || touch_area.IsEmpty()) - return transform; - - // Take care of scaling between touchscreen area and display resolution. - transform.Scale(current_size.width() / touch_area.width(), - current_size.height() / touch_area.height()); - return transform; -} - -} // namespace - -TouchController::TouchController(DisplayManager* display_manager) - : display_manager_(display_manager) { - DCHECK(display_manager_); - ui::DeviceDataManager::GetInstance()->AddObserver(this); -} - -TouchController::~TouchController() { - ui::DeviceDataManager::GetInstance()->RemoveObserver(this); -} - -void TouchController::UpdateTouchTransforms() const { - ui::DeviceDataManager* device_manager = ui::DeviceDataManager::GetInstance(); - device_manager->ClearTouchDeviceAssociations(); - - const std::set<Display*>& touch_displays = display_manager_->displays(); - const std::vector<ui::TouchscreenDevice>& touch_devices = - device_manager->GetTouchscreenDevices(); - - // Mash can only handle a single display so this doesn't implement support for - // matching touchscreens with multiple displays. - // TODO(kylechar): Implement support for multiple displays when needed. - if (touch_displays.size() == 1 && touch_devices.size() == 1) { - const Display* touch_display = *touch_displays.begin(); - const ui::TouchscreenDevice& touch_device = touch_devices[0]; - - int64_t touch_display_id = touch_display->GetId(); - int touch_device_id = touch_device.id; - - if (touch_device_id != ui::InputDevice::kInvalidId) { - device_manager->UpdateTouchRadiusScale( - touch_device_id, - ComputeTouchResolutionScale(touch_display, touch_device)); - - device_manager->UpdateTouchInfoForDisplay( - touch_display_id, touch_device_id, - ComputeTouchTransform(touch_display, touch_device)); - } - } -} - -void TouchController::OnTouchscreenDeviceConfigurationChanged() { - UpdateTouchTransforms(); -} - -} // namespace ws -} // namespace ui
diff --git a/services/ui/ws/touch_controller.h b/services/ui/ws/touch_controller.h deleted file mode 100644 index 61e4768f..0000000 --- a/services/ui/ws/touch_controller.h +++ /dev/null
@@ -1,37 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef SERVICES_UI_WS_TOUCH_CONTROLLER_H_ -#define SERVICES_UI_WS_TOUCH_CONTROLLER_H_ - -#include "base/macros.h" -#include "ui/events/devices/input_device_event_observer.h" - -namespace ui { -namespace ws { - -class DisplayManager; - -// Tracks changes to displays and touchscreen devices. Updates the mapping -// between display devices and touchscreen devices when changes occur. -class TouchController : public ui::InputDeviceEventObserver { - public: - explicit TouchController(DisplayManager* display_manager); - ~TouchController() override; - - void UpdateTouchTransforms() const; - - // ui::InputDeviceEventObserver: - void OnTouchscreenDeviceConfigurationChanged() override; - - private: - DisplayManager* display_manager_; - - DISALLOW_COPY_AND_ASSIGN(TouchController); -}; - -} // namespace ws -} // namespace ui - -#endif // SERVICES_UI_WS_TOUCH_CONTROLLER_H_
diff --git a/services/ui/ws/window_server_delegate.h b/services/ui/ws/window_server_delegate.h index 717c512..337cc388 100644 --- a/services/ui/ws/window_server_delegate.h +++ b/services/ui/ws/window_server_delegate.h
@@ -44,10 +44,6 @@ virtual bool IsTestConfig() const = 0; - // Called when touchscreen coordinate transforms should be updated. For - // example when displays or touch input devices are added/removed. - virtual void UpdateTouchTransforms() = 0; - // Creates a WindowTreeBinding. Default implementation returns null, which // creates DefaultBinding. virtual std::unique_ptr<WindowTreeBinding> CreateWindowTreeBinding(
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 index e2ae5ef..d537ee4 100644 --- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 +++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
@@ -79,6 +79,8 @@ Bug(none) webexposed/ [ Skip ] Bug(none) webmidi/ [ Skip ] Bug(none) xmlviewer/ [ Skip ] +crbug.com/657825 fast/performance/performance-first-paint-timing-observable.html [ Skip ] +crbug.com/657825 fast/performance/performance-paint-timing-observable.html [ Skip ] Bug(none) broadcastchannel/blobs.html [ Pass Failure ] Bug(none) compositing/3d-cube.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/W3CImportExpectations b/third_party/WebKit/LayoutTests/W3CImportExpectations index 6d513959..0d5f506 100644 --- a/third_party/WebKit/LayoutTests/W3CImportExpectations +++ b/third_party/WebKit/LayoutTests/W3CImportExpectations
@@ -728,7 +728,6 @@ # This test depends on a file xml_xpath_tests.xml, which is too large # for Rietveld to handle now, so it's not currently imported. crbug.com/676491 imported/wpt/domxpath/xml_xpath_runner.html [ Skip ] -crbug.com/676491 imported/wpt/domxpath/xml_xpath_tests.xml [ Skip ] # Manual tests that fail as TIMEOUT or NOTRUN. Consider adding wpt_automation. imported/wpt/FileAPI/BlobURL/test1-manual.html [ Skip ]
diff --git a/third_party/WebKit/LayoutTests/animations/animations-responsive-to-color-change.html b/third_party/WebKit/LayoutTests/animations/animations-responsive-to-color-change.html index 42b231c..f0840bf 100644 --- a/third_party/WebKit/LayoutTests/animations/animations-responsive-to-color-change.html +++ b/third_party/WebKit/LayoutTests/animations/animations-responsive-to-color-change.html
@@ -65,7 +65,7 @@ player.pause(); player.currentTime = 3; element.style.color = 'rgba(160, 190, 180, 0.980392157)'; - assert_equals(getComputedStyle(element).backgroundColor, 'rgba(206, 215, 200, 0.596078)'); + assert_equals(getComputedStyle(element).backgroundColor, 'rgba(206, 215, 200, 0.596)'); }, 'Color interpolation uses pre-multiplied colors'); test(function() {
diff --git a/third_party/WebKit/LayoutTests/animations/composition/box-shadow-composition.html b/third_party/WebKit/LayoutTests/animations/composition/box-shadow-composition.html index 58d53d31..1805c13 100644 --- a/third_party/WebKit/LayoutTests/animations/composition/box-shadow-composition.html +++ b/third_party/WebKit/LayoutTests/animations/composition/box-shadow-composition.html
@@ -62,7 +62,7 @@ {at: 0, is: 'rgb(110, 120, 130) 11px 22px 33px 44px, rgb(120, 140, 160) 12px 24px 36px 48px'}, {at: 0.5, is: 'rgb(155, 160, 165) 15.5px 31px 46.5px 62px, rgb(160, 170, 180) 16px 32px 48px 64px'}, {at: 1, is: 'rgb(200, 200, 200) 20px 40px 60px 80px'}, - {at: 1.5, is: 'rgba(255, 255, 255, 0.501961) 24.5px 49px 73.5px 98px, rgba(255, 255, 255, 0.501961) 24px 48px 72px 96px'}, + {at: 1.5, is: 'rgba(255, 255, 255, 0.5) 24.5px 49px 73.5px 98px, rgba(255, 255, 255, 0.5) 24px 48px 72px 96px'}, ]); assertComposition({ @@ -88,7 +88,7 @@ {at: 0, is: 'rgb(110, 120, 130) 11px 22px 33px 44px, rgb(220, 240, 255) 22px 44px 66px 88px, rgb(140, 180, 220) 14px 28px 42px 56px, rgb(210, 220, 230) 21px 42px 63px 84px, rgb(120, 140, 160) 12px 24px 36px 48px, rgb(240, 255, 255) 24px 48px 72px 96px'}, {at: 0.5, is: 'rgb(155, 160, 165) 15.5px 31px 46.5px 62px, rgb(210, 220, 230) 21px 42px 63px 84px, rgb(170, 190, 210) 17px 34px 51px 68px, rgb(205, 210, 215) 20.5px 41px 61.5px 82px, rgb(160, 170, 180) 16px 32px 48px 64px, rgb(220, 240, 255) 22px 44px 66px 88px'}, {at: 1, is: 'rgb(200, 200, 200) 20px 40px 60px 80px'}, - {at: 1.5, is: 'rgba(255, 255, 255, 0.501961) 24.5px 49px 73.5px 98px, rgba(255, 255, 255, 0.501961) 19px 38px 57px 76px, rgba(255, 255, 255, 0.501961) 23px 46px 69px 92px, rgba(255, 255, 255, 0.501961) 19.5px 39px 58.5px 78px, rgba(255, 255, 255, 0.501961) 24px 48px 72px 96px, rgba(255, 255, 255, 0.501961) 18px 36px 54px 72px'}, + {at: 1.5, is: 'rgba(255, 255, 255, 0.5) 24.5px 49px 73.5px 98px, rgba(255, 255, 255, 0.5) 19px 38px 57px 76px, rgba(255, 255, 255, 0.5) 23px 46px 69px 92px, rgba(255, 255, 255, 0.5) 19.5px 39px 58.5px 78px, rgba(255, 255, 255, 0.5) 24px 48px 72px 96px, rgba(255, 255, 255, 0.5) 18px 36px 54px 72px'}, ]); </script> </body>
diff --git a/third_party/WebKit/LayoutTests/animations/composition/text-shadow-composition.html b/third_party/WebKit/LayoutTests/animations/composition/text-shadow-composition.html index 2525555a..843ee7f0 100644 --- a/third_party/WebKit/LayoutTests/animations/composition/text-shadow-composition.html +++ b/third_party/WebKit/LayoutTests/animations/composition/text-shadow-composition.html
@@ -49,7 +49,7 @@ {at: 0, is: 'rgb(110, 120, 130) 11px 22px 33px, rgb(120, 140, 160) 12px 24px 36px'}, {at: 0.5, is: 'rgb(155, 160, 165) 15.5px 31px 46.5px, rgb(160, 170, 180) 16px 32px 48px'}, {at: 1, is: 'rgb(200, 200, 200) 20px 40px 60px'}, - {at: 1.5, is: 'rgba(255, 255, 255, 0.501961) 24.5px 49px 73.5px, rgba(255, 255, 255, 0.501961) 24px 48px 72px'}, + {at: 1.5, is: 'rgba(255, 255, 255, 0.5) 24.5px 49px 73.5px, rgba(255, 255, 255, 0.5) 24px 48px 72px'}, ]); assertComposition({ @@ -75,7 +75,7 @@ {at: 0, is: 'rgb(110, 120, 130) 11px 22px 33px, rgb(220, 240, 255) 22px 44px 66px, rgb(140, 180, 220) 14px 28px 42px, rgb(210, 220, 230) 21px 42px 63px, rgb(120, 140, 160) 12px 24px 36px, rgb(240, 255, 255) 24px 48px 72px'}, {at: 0.5, is: 'rgb(155, 160, 165) 15.5px 31px 46.5px, rgb(210, 220, 230) 21px 42px 63px, rgb(170, 190, 210) 17px 34px 51px, rgb(205, 210, 215) 20.5px 41px 61.5px, rgb(160, 170, 180) 16px 32px 48px, rgb(220, 240, 255) 22px 44px 66px'}, {at: 1, is: 'rgb(200, 200, 200) 20px 40px 60px'}, - {at: 1.5, is: 'rgba(255, 255, 255, 0.501961) 24.5px 49px 73.5px, rgba(255, 255, 255, 0.501961) 19px 38px 57px, rgba(255, 255, 255, 0.501961) 23px 46px 69px, rgba(255, 255, 255, 0.501961) 19.5px 39px 58.5px, rgba(255, 255, 255, 0.501961) 24px 48px 72px, rgba(255, 255, 255, 0.501961) 18px 36px 54px'}, + {at: 1.5, is: 'rgba(255, 255, 255, 0.5) 24.5px 49px 73.5px, rgba(255, 255, 255, 0.5) 19px 38px 57px, rgba(255, 255, 255, 0.5) 23px 46px 69px, rgba(255, 255, 255, 0.5) 19.5px 39px 58.5px, rgba(255, 255, 255, 0.5) 24px 48px 72px, rgba(255, 255, 255, 0.5) 18px 36px 54px'}, ]); </script> </body>
diff --git a/third_party/WebKit/LayoutTests/animations/interpolation/backdrop-filter-interpolation-expected.txt b/third_party/WebKit/LayoutTests/animations/interpolation/backdrop-filter-interpolation-expected.txt index 92c7167..1d49e70 100644 --- a/third_party/WebKit/LayoutTests/animations/interpolation/backdrop-filter-interpolation-expected.txt +++ b/third_party/WebKit/LayoutTests/animations/interpolation/backdrop-filter-interpolation-expected.txt
@@ -84,7 +84,7 @@ PASS CSS Transitions: property <backdrop-filter> from [contrast(0)] to [none] at (1.5) is [contrast(1.5)] PASS CSS Transitions: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgba(0, 0, 0, 0) -20px -10px 0px)] PASS CSS Transitions: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (0) is [none] -FAIL CSS Transitions: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 127, 0, 0.501961) 10px 5px 0px)] assert_equals: expected "drop - shadow ( rgba ( 0 , 128 , 0 , 0.5 ) 10px 5px 0px ) " but got "drop - shadow ( rgba ( 0 , 127 , 0 , 0.5 ) 10px 5px 0px ) " +FAIL CSS Transitions: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 127, 0, 0.5) 10px 5px 0px)] assert_equals: expected "drop - shadow ( rgba ( 0 , 128 , 0 , 0.5 ) 10px 5px 0px ) " but got "drop - shadow ( rgba ( 0 , 127 , 0 , 0.5 ) 10px 5px 0px ) " PASS CSS Transitions: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (1) is [drop-shadow(rgb(0, 128, 0) 20px 10px 0px)] PASS CSS Transitions: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) is [drop-shadow(rgb(0, 192, 0) 30px 15px 0px)] PASS CSS Transitions: property <backdrop-filter> from [drop-shadow(0px 0px 0px currentcolor)] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgb(255, 255, 255) -20px -10px 0px)] @@ -225,7 +225,7 @@ PASS CSS Animations: property <backdrop-filter> from [contrast(0)] to [none] at (1.5) is [contrast(1.5)] PASS CSS Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgba(0, 0, 0, 0) -20px -10px 0px)] PASS CSS Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (0) is [none] -PASS CSS Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 128, 0, 0.501961) 10px 5px 0px)] +PASS CSS Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 128, 0, 0.5) 10px 5px 0px)] PASS CSS Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (1) is [drop-shadow(rgb(0, 128, 0) 20px 10px 0px)] PASS CSS Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) is [drop-shadow(rgb(0, 192, 0) 30px 15px 0px)] PASS CSS Animations: property <backdrop-filter> from [drop-shadow(0px 0px 0px currentcolor)] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgb(255, 255, 255) -20px -10px 0px)] @@ -366,7 +366,7 @@ PASS Web Animations: property <backdrop-filter> from [contrast(0)] to [none] at (1.5) is [contrast(1.5)] PASS Web Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgba(0, 0, 0, 0) -20px -10px 0px)] PASS Web Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (0) is [none] -PASS Web Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 128, 0, 0.501961) 10px 5px 0px)] +PASS Web Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 128, 0, 0.5) 10px 5px 0px)] PASS Web Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (1) is [drop-shadow(rgb(0, 128, 0) 20px 10px 0px)] PASS Web Animations: property <backdrop-filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) is [drop-shadow(rgb(0, 192, 0) 30px 15px 0px)] PASS Web Animations: property <backdrop-filter> from [drop-shadow(0px 0px 0px currentcolor)] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgb(255, 255, 255) -20px -10px 0px)]
diff --git a/third_party/WebKit/LayoutTests/animations/interpolation/background-color-interpolation.html b/third_party/WebKit/LayoutTests/animations/interpolation/background-color-interpolation.html index 68f67fd..692d6042 100644 --- a/third_party/WebKit/LayoutTests/animations/interpolation/background-color-interpolation.html +++ b/third_party/WebKit/LayoutTests/animations/interpolation/background-color-interpolation.html
@@ -103,13 +103,13 @@ from: 'currentcolor', to: 'rgba(0, 255, 0, 0.75)', }, [ - {at: -0.5, is: 'rgba(0, 0, 255, 0.37)'}, + {at: -0.5, is: 'rgba(0, 0, 255, 0.38)'}, {at: 0, is: 'rgba(0, 0, 255, 0.5)'}, {at: 0.25, is: 'rgba(0, 85, 170, 0.56)'}, - {at: 0.5, is: 'rgba(0, 153, 102, 0.62)'}, - {at: 0.75, is: 'rgba(0, 209, 46, 0.69)'}, + {at: 0.5, is: 'rgba(0, 153, 102, 0.63)'}, + {at: 0.75, is: 'rgba(0, 208, 47, 0.69)'}, {at: 1, is: 'rgba(0, 255, 0, 0.75)'}, - {at: 1.5, is: 'rgba(0, 255, 0, 0.87)'}, + {at: 1.5, is: 'rgba(0, 255, 0, 0.88)'}, ]); </script> </body>
diff --git a/third_party/WebKit/LayoutTests/animations/interpolation/box-shadow-interpolation-expected.txt b/third_party/WebKit/LayoutTests/animations/interpolation/box-shadow-interpolation-expected.txt index 80f105f..4dc5acf 100644 --- a/third_party/WebKit/LayoutTests/animations/interpolation/box-shadow-interpolation-expected.txt +++ b/third_party/WebKit/LayoutTests/animations/interpolation/box-shadow-interpolation-expected.txt
@@ -8,7 +8,7 @@ PASS CSS Transitions: property <box-shadow> from neutral to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 25px 15px 25px 15px] PASS CSS Transitions: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (-0.3) is [rgba(0, 0, 0, 0) -6px -6px 0px -6px] PASS CSS Transitions: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0) is [none] -PASS CSS Transitions: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.301961) 6px 6px 6px 6px] +PASS CSS Transitions: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px] PASS CSS Transitions: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0.6) is [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px] PASS CSS Transitions: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (1) is [rgb(0, 0, 0) 20px 20px 20px 20px] PASS CSS Transitions: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 30px 30px 30px 30px] @@ -20,7 +20,7 @@ PASS CSS Transitions: property <box-shadow> from [inherit] to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 15px 25px 15px 25px] PASS CSS Transitions: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (-0.3) is [rgba(0, 0, 0, 0) -6px -6px 0px -6px] PASS CSS Transitions: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0) is [none] -PASS CSS Transitions: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.301961) 6px 6px 6px 6px] +PASS CSS Transitions: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px] PASS CSS Transitions: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0.6) is [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px] PASS CSS Transitions: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (1) is [rgb(0, 0, 0) 20px 20px 20px 20px] PASS CSS Transitions: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 30px 30px 30px 30px] @@ -48,9 +48,9 @@ PASS CSS Transitions: property <box-shadow> from [10px 10px 10px 10px black] to [10px 10px 10px 10px currentColor] at (0.6) is [rgb(0, 77, 0) 10px 10px 10px 10px] PASS CSS Transitions: property <box-shadow> from [10px 10px 10px 10px black] to [10px 10px 10px 10px currentColor] at (1) is [rgb(0, 128, 0) 10px 10px 10px 10px] PASS CSS Transitions: property <box-shadow> from [10px 10px 10px 10px black] to [10px 10px 10px 10px currentColor] at (1.5) is [rgb(0, 192, 0) 10px 10px 10px 10px] -PASS CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (-0.3) is [rgba(255, 255, 0, 0.647059) 13px 26px 0px 0px, rgb(0, 166, 0) 6.5px 39px 0px 0px inset] -PASS CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0) is [rgba(255, 255, 0, 0.498039) 10px 20px 0px 0px, rgb(0, 128, 0) 5px 30px 0px 0px inset] -PASS CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0.3) is [rgba(255, 255, 0, 0.34902) 7px 14px 0px 0px, rgba(0, 128, 0, 0.701961) 3.5px 21px 0px 0px inset] +PASS CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (-0.3) is [rgba(255, 255, 0, 0.65) 13px 26px 0px 0px, rgb(0, 166, 0) 6.5px 39px 0px 0px inset] +PASS CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0) is [rgba(255, 255, 0, 0.5) 10px 20px 0px 0px, rgb(0, 128, 0) 5px 30px 0px 0px inset] +PASS CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0.3) is [rgba(255, 255, 0, 0.353) 7px 14px 0px 0px, rgba(0, 128, 0, 0.7) 3.5px 21px 0px 0px inset] FAIL CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0.6) is [rgba(255, 255, 0, 0.2) 4px 8px 0px 0px, rgba(0, 127, 0, 0.4) 2px 12px 0px 0px inset] assert_equals: expected "rgba ( 255 , 255 , 0 , 0.2 ) 4px 8px 0px 0px , rgba ( 0 , 128 , 0 , 0.4 ) 2px 12px 0px 0px inset " but got "rgba ( 255 , 255 , 0 , 0.2 ) 4px 8px 0px 0px , rgba ( 0 , 127 , 0 , 0.4 ) 2px 12px 0px 0px inset " PASS CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (1) is [none] PASS CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (1.5) is [rgba(0, 0, 0, 0) -5px -10px 0px 0px, rgba(0, 0, 0, 0) -2.5px -15px 0px 0px inset] @@ -69,7 +69,7 @@ PASS CSS Animations: property <box-shadow> from neutral to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 25px 15px 25px 15px] PASS CSS Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (-0.3) is [rgba(0, 0, 0, 0) -6px -6px 0px -6px] PASS CSS Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0) is [none] -PASS CSS Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.301961) 6px 6px 6px 6px] +PASS CSS Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px] PASS CSS Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0.6) is [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px] PASS CSS Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (1) is [rgb(0, 0, 0) 20px 20px 20px 20px] PASS CSS Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 30px 30px 30px 30px] @@ -81,7 +81,7 @@ PASS CSS Animations: property <box-shadow> from [inherit] to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 15px 25px 15px 25px] PASS CSS Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (-0.3) is [rgba(0, 0, 0, 0) -6px -6px 0px -6px] PASS CSS Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0) is [none] -PASS CSS Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.301961) 6px 6px 6px 6px] +PASS CSS Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px] PASS CSS Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0.6) is [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px] PASS CSS Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (1) is [rgb(0, 0, 0) 20px 20px 20px 20px] PASS CSS Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 30px 30px 30px 30px] @@ -109,9 +109,9 @@ PASS CSS Animations: property <box-shadow> from [10px 10px 10px 10px black] to [10px 10px 10px 10px currentColor] at (0.6) is [rgb(0, 77, 0) 10px 10px 10px 10px] PASS CSS Animations: property <box-shadow> from [10px 10px 10px 10px black] to [10px 10px 10px 10px currentColor] at (1) is [rgb(0, 128, 0) 10px 10px 10px 10px] PASS CSS Animations: property <box-shadow> from [10px 10px 10px 10px black] to [10px 10px 10px 10px currentColor] at (1.5) is [rgb(0, 192, 0) 10px 10px 10px 10px] -PASS CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (-0.3) is [rgba(255, 255, 0, 0.647059) 13px 26px 0px 0px, rgb(0, 166, 0) 6.5px 39px 0px 0px inset] -PASS CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0) is [rgba(255, 255, 0, 0.498039) 10px 20px 0px 0px, rgb(0, 128, 0) 5px 30px 0px 0px inset] -PASS CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0.3) is [rgba(255, 255, 0, 0.34902) 7px 14px 0px 0px, rgba(0, 128, 0, 0.701961) 3.5px 21px 0px 0px inset] +PASS CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (-0.3) is [rgba(255, 255, 0, 0.65) 13px 26px 0px 0px, rgb(0, 166, 0) 6.5px 39px 0px 0px inset] +PASS CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0) is [rgba(255, 255, 0, 0.5) 10px 20px 0px 0px, rgb(0, 128, 0) 5px 30px 0px 0px inset] +PASS CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0.3) is [rgba(255, 255, 0, 0.353) 7px 14px 0px 0px, rgba(0, 128, 0, 0.7) 3.5px 21px 0px 0px inset] PASS CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0.6) is [rgba(255, 255, 0, 0.2) 4px 8px 0px 0px, rgba(0, 128, 0, 0.4) 2px 12px 0px 0px inset] PASS CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (1) is [none] PASS CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (1.5) is [rgba(0, 0, 0, 0) -5px -10px 0px 0px, rgba(0, 0, 0, 0) -2.5px -15px 0px 0px inset] @@ -130,7 +130,7 @@ PASS Web Animations: property <box-shadow> from neutral to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 25px 15px 25px 15px] PASS Web Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (-0.3) is [rgba(0, 0, 0, 0) -6px -6px 0px -6px] PASS Web Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0) is [none] -PASS Web Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.301961) 6px 6px 6px 6px] +PASS Web Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px] PASS Web Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (0.6) is [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px] PASS Web Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (1) is [rgb(0, 0, 0) 20px 20px 20px 20px] PASS Web Animations: property <box-shadow> from [initial] to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 30px 30px 30px 30px] @@ -142,7 +142,7 @@ PASS Web Animations: property <box-shadow> from [inherit] to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 15px 25px 15px 25px] PASS Web Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (-0.3) is [rgba(0, 0, 0, 0) -6px -6px 0px -6px] PASS Web Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0) is [none] -PASS Web Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.301961) 6px 6px 6px 6px] +PASS Web Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0.3) is [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px] PASS Web Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (0.6) is [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px] PASS Web Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (1) is [rgb(0, 0, 0) 20px 20px 20px 20px] PASS Web Animations: property <box-shadow> from [unset] to [20px 20px 20px 20px black] at (1.5) is [rgb(0, 0, 0) 30px 30px 30px 30px] @@ -170,9 +170,9 @@ PASS Web Animations: property <box-shadow> from [10px 10px 10px 10px black] to [10px 10px 10px 10px currentColor] at (0.6) is [rgb(0, 77, 0) 10px 10px 10px 10px] PASS Web Animations: property <box-shadow> from [10px 10px 10px 10px black] to [10px 10px 10px 10px currentColor] at (1) is [rgb(0, 128, 0) 10px 10px 10px 10px] PASS Web Animations: property <box-shadow> from [10px 10px 10px 10px black] to [10px 10px 10px 10px currentColor] at (1.5) is [rgb(0, 192, 0) 10px 10px 10px 10px] -PASS Web Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (-0.3) is [rgba(255, 255, 0, 0.647059) 13px 26px 0px 0px, rgb(0, 166, 0) 6.5px 39px 0px 0px inset] -PASS Web Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0) is [rgba(255, 255, 0, 0.498039) 10px 20px 0px 0px, rgb(0, 128, 0) 5px 30px 0px 0px inset] -PASS Web Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0.3) is [rgba(255, 255, 0, 0.34902) 7px 14px 0px 0px, rgba(0, 128, 0, 0.701961) 3.5px 21px 0px 0px inset] +PASS Web Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (-0.3) is [rgba(255, 255, 0, 0.65) 13px 26px 0px 0px, rgb(0, 166, 0) 6.5px 39px 0px 0px inset] +PASS Web Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0) is [rgba(255, 255, 0, 0.5) 10px 20px 0px 0px, rgb(0, 128, 0) 5px 30px 0px 0px inset] +PASS Web Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0.3) is [rgba(255, 255, 0, 0.353) 7px 14px 0px 0px, rgba(0, 128, 0, 0.7) 3.5px 21px 0px 0px inset] PASS Web Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (0.6) is [rgba(255, 255, 0, 0.2) 4px 8px 0px 0px, rgba(0, 128, 0, 0.4) 2px 12px 0px 0px inset] PASS Web Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (1) is [none] PASS Web Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000] to [none] at (1.5) is [rgba(0, 0, 0, 0) -5px -10px 0px 0px, rgba(0, 0, 0, 0) -2.5px -15px 0px 0px inset]
diff --git a/third_party/WebKit/LayoutTests/animations/interpolation/filter-interpolation-expected.txt b/third_party/WebKit/LayoutTests/animations/interpolation/filter-interpolation-expected.txt index eff0c38..44bd7f128 100644 --- a/third_party/WebKit/LayoutTests/animations/interpolation/filter-interpolation-expected.txt +++ b/third_party/WebKit/LayoutTests/animations/interpolation/filter-interpolation-expected.txt
@@ -84,7 +84,7 @@ PASS CSS Transitions: property <-webkit-filter> from [contrast(0)] to [none] at (1.5) is [contrast(1.5)] PASS CSS Transitions: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgba(0, 0, 0, 0) -20px -10px 0px)] PASS CSS Transitions: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (0) is [none] -FAIL CSS Transitions: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 127, 0, 0.501961) 10px 5px 0px)] assert_equals: expected "drop - shadow ( rgba ( 0 , 128 , 0 , 0.5 ) 10px 5px 0px ) " but got "drop - shadow ( rgba ( 0 , 127 , 0 , 0.5 ) 10px 5px 0px ) " +FAIL CSS Transitions: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 127, 0, 0.5) 10px 5px 0px)] assert_equals: expected "drop - shadow ( rgba ( 0 , 128 , 0 , 0.5 ) 10px 5px 0px ) " but got "drop - shadow ( rgba ( 0 , 127 , 0 , 0.5 ) 10px 5px 0px ) " PASS CSS Transitions: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (1) is [drop-shadow(rgb(0, 128, 0) 20px 10px 0px)] PASS CSS Transitions: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) is [drop-shadow(rgb(0, 192, 0) 30px 15px 0px)] PASS CSS Transitions: property <-webkit-filter> from [drop-shadow(0px 0px 0px currentcolor)] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgb(255, 255, 255) -20px -10px 0px)] @@ -225,7 +225,7 @@ PASS CSS Animations: property <-webkit-filter> from [contrast(0)] to [none] at (1.5) is [contrast(1.5)] PASS CSS Animations: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgba(0, 0, 0, 0) -20px -10px 0px)] PASS CSS Animations: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (0) is [none] -PASS CSS Animations: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 128, 0, 0.501961) 10px 5px 0px)] +PASS CSS Animations: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) is [drop-shadow(rgba(0, 128, 0, 0.5) 10px 5px 0px)] PASS CSS Animations: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (1) is [drop-shadow(rgb(0, 128, 0) 20px 10px 0px)] PASS CSS Animations: property <-webkit-filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) is [drop-shadow(rgb(0, 192, 0) 30px 15px 0px)] PASS CSS Animations: property <-webkit-filter> from [drop-shadow(0px 0px 0px currentcolor)] to [drop-shadow(20px 10px green)] at (-1) is [drop-shadow(rgb(255, 255, 255) -20px -10px 0px)]
diff --git a/third_party/WebKit/LayoutTests/animations/interpolation/text-shadow-interpolation-expected.txt b/third_party/WebKit/LayoutTests/animations/interpolation/text-shadow-interpolation-expected.txt index 5277838..c1ed75f3 100644 --- a/third_party/WebKit/LayoutTests/animations/interpolation/text-shadow-interpolation-expected.txt +++ b/third_party/WebKit/LayoutTests/animations/interpolation/text-shadow-interpolation-expected.txt
@@ -8,7 +8,7 @@ PASS CSS Transitions: property <text-shadow> from neutral to [20px 20px 20px green] at (1.5) is [rgb(0, 110, 0) 25px 15px 25px] PASS CSS Transitions: property <text-shadow> from [initial] to [20px 20px 20px green] at (-0.3) is [rgba(0, 0, 0, 0) -6px -6px 0px] PASS CSS Transitions: property <text-shadow> from [initial] to [20px 20px 20px green] at (0) is [none] -FAIL CSS Transitions: property <text-shadow> from [initial] to [20px 20px 20px green] at (0.3) is [rgba(0, 125, 0, 0.301961) 6px 6px 6px] assert_equals: expected "rgba ( 0 , 128 , 0 , 0.3 ) 6px 6px 6px " but got "rgba ( 0 , 125 , 0 , 0.3 ) 6px 6px 6px " +FAIL CSS Transitions: property <text-shadow> from [initial] to [20px 20px 20px green] at (0.3) is [rgba(0, 125, 0, 0.3) 6px 6px 6px] assert_equals: expected "rgba ( 0 , 128 , 0 , 0.3 ) 6px 6px 6px " but got "rgba ( 0 , 125 , 0 , 0.3 ) 6px 6px 6px " PASS CSS Transitions: property <text-shadow> from [initial] to [20px 20px 20px green] at (0.6) is [rgba(0, 128, 0, 0.6) 12px 12px 12px] PASS CSS Transitions: property <text-shadow> from [initial] to [20px 20px 20px green] at (1) is [rgb(0, 128, 0) 20px 20px 20px] PASS CSS Transitions: property <text-shadow> from [initial] to [20px 20px 20px green] at (1.5) is [rgb(0, 192, 0) 30px 30px 30px] @@ -44,7 +44,7 @@ PASS CSS Animations: property <text-shadow> from neutral to [20px 20px 20px green] at (1.5) is [rgb(0, 110, 0) 25px 15px 25px] PASS CSS Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (-0.3) is [rgba(0, 0, 0, 0) -6px -6px 0px] PASS CSS Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (0) is [none] -PASS CSS Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (0.3) is [rgba(0, 128, 0, 0.301961) 6px 6px 6px] +PASS CSS Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (0.3) is [rgba(0, 128, 0, 0.3) 6px 6px 6px] PASS CSS Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (0.6) is [rgba(0, 128, 0, 0.6) 12px 12px 12px] PASS CSS Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (1) is [rgb(0, 128, 0) 20px 20px 20px] PASS CSS Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (1.5) is [rgb(0, 192, 0) 30px 30px 30px] @@ -80,7 +80,7 @@ PASS Web Animations: property <text-shadow> from neutral to [20px 20px 20px green] at (1.5) is [rgb(0, 110, 0) 25px 15px 25px] PASS Web Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (-0.3) is [rgba(0, 0, 0, 0) -6px -6px 0px] PASS Web Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (0) is [none] -PASS Web Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (0.3) is [rgba(0, 128, 0, 0.301961) 6px 6px 6px] +PASS Web Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (0.3) is [rgba(0, 128, 0, 0.3) 6px 6px 6px] PASS Web Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (0.6) is [rgba(0, 128, 0, 0.6) 12px 12px 12px] PASS Web Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (1) is [rgb(0, 128, 0) 20px 20px 20px] PASS Web Animations: property <text-shadow> from [initial] to [20px 20px 20px green] at (1.5) is [rgb(0, 192, 0) 30px 30px 30px]
diff --git a/third_party/WebKit/LayoutTests/compositing/contents-opaque/background-color-expected.txt b/third_party/WebKit/LayoutTests/compositing/contents-opaque/background-color-expected.txt index 667e811..24add97 100644 --- a/third_party/WebKit/LayoutTests/compositing/contents-opaque/background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/compositing/contents-opaque/background-color-expected.txt
@@ -16,7 +16,7 @@ "position": [8, 108], "bounds": [100, 100], "drawsContent": true, - "backgroundColor": "#00FF007F" + "backgroundColor": "#00FF0080" }, { "name": "LayoutBlockFlow DIV class='box opaque composited'",
diff --git a/third_party/WebKit/LayoutTests/compositing/draws-content/canvas-background-layer-expected.txt b/third_party/WebKit/LayoutTests/compositing/draws-content/canvas-background-layer-expected.txt index 048b645a..5613b17e 100644 --- a/third_party/WebKit/LayoutTests/compositing/draws-content/canvas-background-layer-expected.txt +++ b/third_party/WebKit/LayoutTests/compositing/draws-content/canvas-background-layer-expected.txt
@@ -19,7 +19,7 @@ "position": [13, 73], "bounds": [50, 50], "drawsContent": true, - "backgroundColor": "#00FF007F" + "backgroundColor": "#00FF0080" }, { "name": "LayoutHTMLCanvas CANVAS id='canvas-padding'",
diff --git a/third_party/WebKit/LayoutTests/compositing/draws-content/webgl-background-layer-expected.txt b/third_party/WebKit/LayoutTests/compositing/draws-content/webgl-background-layer-expected.txt index 53ea0970..2f3c662 100644 --- a/third_party/WebKit/LayoutTests/compositing/draws-content/webgl-background-layer-expected.txt +++ b/third_party/WebKit/LayoutTests/compositing/draws-content/webgl-background-layer-expected.txt
@@ -40,7 +40,7 @@ "position": [13, 268], "bounds": [50, 50], "drawsContent": true, - "backgroundColor": "#00FF007F" + "backgroundColor": "#00FF0080" } ] }
diff --git a/third_party/WebKit/LayoutTests/compositing/fixed-body-background-positioned-expected.png b/third_party/WebKit/LayoutTests/compositing/fixed-body-background-positioned-expected.png index 04759d1..4c739d5 100644 --- a/third_party/WebKit/LayoutTests/compositing/fixed-body-background-positioned-expected.png +++ b/third_party/WebKit/LayoutTests/compositing/fixed-body-background-positioned-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt b/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt index deb35b6..ba05ce15 100644 --- a/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt +++ b/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt
@@ -138,7 +138,7 @@ "position": [0, 100], "bounds": [785, 120], "drawsContent": true, - "backgroundColor": "#0000007F" + "backgroundColor": "#00000080" } ] }
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.png index 4fb6748f..8e90d0c 100644 --- a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.png +++ b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.txt index 47100f7f..dfc87a8 100644 --- a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.txt +++ b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.txt
@@ -8,7 +8,7 @@ layer at (18,128) size 108x108 clip at (22,132) size 100x100 LayoutBlockFlow {DIV} at (10,118) size 108x108 [bgcolor=#ADD8E6] [border: (4px dashed #000000)] layer at (18,246) size 108x108 clip at (22,250) size 100x100 - LayoutBlockFlow {DIV} at (10,236) size 108x108 [bgcolor=#ADD8E6] [border: (4px solid #FF00007F)] + LayoutBlockFlow {DIV} at (10,236) size 108x108 [bgcolor=#ADD8E6] [border: (4px solid #FF000080)] layer at (22,14) size 96x96 LayoutBlockFlow {DIV} at (4,4) size 96x96 [bgcolor=#008000] layer at (22,132) size 96x96
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt index 3dcfc7b..86a7938 100644 --- a/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt +++ b/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt
@@ -12,7 +12,7 @@ "bounds": [308, 208], "shouldFlattenTransform": false, "drawsContent": true, - "backgroundColor": "#00FF007F" + "backgroundColor": "#00FF0080" }, { "name": "Scrolling Layer", @@ -60,7 +60,7 @@ "position": [10, 10], "bounds": [100, 100], "drawsContent": true, - "backgroundColor": "#FF00007F" + "backgroundColor": "#FF000080" }, { "name": "Squashing Containment Layer", @@ -72,7 +72,7 @@ "position": [22, 102], "bounds": [100, 100], "drawsContent": true, - "backgroundColor": "#0000FF7F" + "backgroundColor": "#0000FF80" }, { "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (relative positioned) DIV class='box')",
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/clip-content-under-overflow-controls-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/clip-content-under-overflow-controls-expected.png new file mode 100644 index 0000000..797fa6c --- /dev/null +++ b/third_party/WebKit/LayoutTests/compositing/overflow/clip-content-under-overflow-controls-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/scrollbar-painting-expected.png b/third_party/WebKit/LayoutTests/compositing/scrollbar-painting-expected.png new file mode 100644 index 0000000..797fa6c --- /dev/null +++ b/third_party/WebKit/LayoutTests/compositing/scrollbar-painting-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/z-order/collect-layers-does-not-initialize-pos-z-order-list-expected.png b/third_party/WebKit/LayoutTests/compositing/z-order/collect-layers-does-not-initialize-pos-z-order-list-expected.png index 2ecafb6..2a92c830 100644 --- a/third_party/WebKit/LayoutTests/compositing/z-order/collect-layers-does-not-initialize-pos-z-order-list-expected.png +++ b/third_party/WebKit/LayoutTests/compositing/z-order/collect-layers-does-not-initialize-pos-z-order-list-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css-parser/color3-expected.txt b/third_party/WebKit/LayoutTests/css-parser/color3-expected.txt index 491a0f9..3f92af96 100644 --- a/third_party/WebKit/LayoutTests/css-parser/color3-expected.txt +++ b/third_party/WebKit/LayoutTests/css-parser/color3-expected.txt
@@ -68,21 +68,21 @@ PASS colorTest.parseColor("rgb(0%, 0%, 0%, 0%)") is "parse error" PASS colorTest.parseColor("rgb(0%, 0%, 0%, 0)") is "parse error" PASS colorTest.parseColor("rgba(0, 0, 0, 0)") is "rgba(0, 0, 0, 0)" -FAIL colorTest.parseColor("rgba(204, 0, 102, 0.3)") should be rgba(204, 0, 102, 0.3). Was rgba(204, 0, 102, 0.298039). +PASS colorTest.parseColor("rgba(204, 0, 102, 0.3)") is "rgba(204, 0, 102, 0.3)" PASS colorTest.parseColor("RGBA(255, 255, 255, 0)") is "rgba(255, 255, 255, 0)" PASS colorTest.parseColor("rgBA(0, 51, 255, 1)") is "rgb(0, 51, 255)" PASS colorTest.parseColor("rgba(0, 51, 255, 1.1)") is "rgb(0, 51, 255)" PASS colorTest.parseColor("rgba(0, 51, 255, 37)") is "rgb(0, 51, 255)" -FAIL colorTest.parseColor("rgba(0, 51, 255, 0.42)") should be rgba(0, 51, 255, 0.42). Was rgba(0, 51, 255, 0.419608). +PASS colorTest.parseColor("rgba(0, 51, 255, 0.42)") is "rgba(0, 51, 255, 0.42)" PASS colorTest.parseColor("rgba(0, 51, 255, 0)") is "rgba(0, 51, 255, 0)" PASS colorTest.parseColor("rgba(0, 51, 255, -0.1)") is "rgba(0, 51, 255, 0)" PASS colorTest.parseColor("rgba(0, 51, 255, -139)") is "rgba(0, 51, 255, 0)" -FAIL colorTest.parseColor("rgba(42%, 3%, 50%, 0.3)") should be rgba(107, 7, 127, 0.3). Was rgba(107, 7, 128, 0.298039). +FAIL colorTest.parseColor("rgba(42%, 3%, 50%, 0.3)") should be rgba(107, 7, 127, 0.3). Was rgba(107, 7, 128, 0.3). PASS colorTest.parseColor("RGBA(100%, 100%, 100%, 0)") is "rgba(255, 255, 255, 0)" PASS colorTest.parseColor("rgBA(0%, 20%, 100%, 1)") is "rgb(0, 51, 255)" PASS colorTest.parseColor("rgba(0%, 20%, 100%, 1.1)") is "rgb(0, 51, 255)" PASS colorTest.parseColor("rgba(0%, 20%, 100%, 37)") is "rgb(0, 51, 255)" -FAIL colorTest.parseColor("rgba(0%, 20%, 100%, 0.42)") should be rgba(0, 51, 255, 0.42). Was rgba(0, 51, 255, 0.419608). +PASS colorTest.parseColor("rgba(0%, 20%, 100%, 0.42)") is "rgba(0, 51, 255, 0.42)" PASS colorTest.parseColor("rgba(0%, 20%, 100%, 0)") is "rgba(0, 51, 255, 0)" PASS colorTest.parseColor("rgba(0%, 20%, 100%, -0.1)") is "rgba(0, 51, 255, 0)" PASS colorTest.parseColor("rgba(0%, 20%, 100%, -139)") is "rgba(0, 51, 255, 0)"
diff --git a/third_party/WebKit/LayoutTests/css-parser/serialize-css-alpha-value.html b/third_party/WebKit/LayoutTests/css-parser/serialize-css-alpha-value.html new file mode 100644 index 0000000..b2e0ae2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/css-parser/serialize-css-alpha-value.html
@@ -0,0 +1,32 @@ +<!DOCTYPE html> +<body> +<script src="../resources/testharness.js"></script> +<script src="../resources/testharnessreport.js"></script> +<script> +test(function() { + for (var i = 0.0; i <= 1.0; i += 0.01) { + var rgba = 'rgba(0, 0, 0, ' + parseFloat(i.toFixed(2)) + ')'; + document.body.style.color = rgba; + assert_equals(document.body.style.color, rgba); + assert_equals(getComputedStyle(document.body).color, rgba); + } +}, 'Alpha values should parse and serialize to the same value to 2 decimal places'); + +test(function() { + var testCases = [ + ['rgba(0, 0, 0, 0.501)', 'rgba(0, 0, 0, 0.5)'], + ['rgba(0, 0, 0, 0.011)', 'rgba(0, 0, 0, 0.01)'], + ['rgba(0, 0, 0, 0.0041)', 'rgba(0, 0, 0, 0.004)'], + ['rgba(0, 0, 0, 0.01601)', 'rgba(0, 0, 0, 0.016)'] + ]; + for (var i = 0; i < testCases.length; ++i) { + var rgba = testCases[i][0]; + var expected = testCases[i][1]; + document.body.style.color = rgba; + assert_equals(document.body.style.color, expected); + assert_equals(getComputedStyle(document.body).color, expected); + } +}, 'Alpha values with three or more decimals should parse and serialize to ' + + '1, 2, or 3 decimal places according to w3c spec'); +</script> +
diff --git a/third_party/WebKit/LayoutTests/css3/calc/color-hsl-expected.txt b/third_party/WebKit/LayoutTests/css3/calc/color-hsl-expected.txt index 920f1f3..b00efa07 100644 --- a/third_party/WebKit/LayoutTests/css3/calc/color-hsl-expected.txt +++ b/third_party/WebKit/LayoutTests/css3/calc/color-hsl-expected.txt
@@ -4,7 +4,7 @@ PASS getComputedStyle(document.getElementById("simple"), null).color is "rgb(31, 223, 31)" -PASS getComputedStyle(document.getElementById("alpha"), null).color is "rgba(31, 223, 31, 0.701961)" +PASS getComputedStyle(document.getElementById("alpha"), null).color is "rgba(31, 223, 31, 0.7)" PASS successfullyParsed is true TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/css3/calc/color-rgb-expected.txt b/third_party/WebKit/LayoutTests/css3/calc/color-rgb-expected.txt index 66f4ac7..afbd9f9c 100644 --- a/third_party/WebKit/LayoutTests/css3/calc/color-rgb-expected.txt +++ b/third_party/WebKit/LayoutTests/css3/calc/color-rgb-expected.txt
@@ -6,9 +6,9 @@ PASS getComputedStyle(document.getElementById("simple"), null).color is "rgb(10, 180, 30)" PASS getComputedStyle(document.getElementById("percentsimple"), null).color is "rgb(25, 243, 76)" FAIL getComputedStyle(document.getElementById("percentnumber"), null).color should be rgb(26, 240, 80). Was rgb(0, 0, 0). -PASS getComputedStyle(document.getElementById("alpha"), null).color is "rgba(10, 180, 30, 0.701961)" -PASS getComputedStyle(document.getElementById("percentalpha"), null).color is "rgba(25, 243, 76, 0.701961)" -FAIL getComputedStyle(document.getElementById("percentnumberalpha"), null).color should be rgba(26, 240, 80, 0.498039). Was rgb(0, 0, 0). +PASS getComputedStyle(document.getElementById("alpha"), null).color is "rgba(10, 180, 30, 0.7)" +PASS getComputedStyle(document.getElementById("percentalpha"), null).color is "rgba(25, 243, 76, 0.7)" +FAIL getComputedStyle(document.getElementById("percentnumberalpha"), null).color should be rgba(26, 240, 80, 0.5). Was rgb(0, 0, 0). PASS successfullyParsed is true TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/query-command-value-background-color-expected.txt b/third_party/WebKit/LayoutTests/editing/execCommand/query-command-value-background-color-expected.txt index 949b092..7adb845 100644 --- a/third_party/WebKit/LayoutTests/editing/execCommand/query-command-value-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/editing/execCommand/query-command-value-background-color-expected.txt
@@ -8,6 +8,6 @@ PASS rgb(0, 128, 0) for <div style='background: green;' id=selected><span style='background-color: yellow'>hello</span><span style='background-color: blue'> world</span></div> PASS rgb(255, 255, 0) for <div style='background: green;'><span style='background-color: yellow' id=selected>hello world</span></div> PASS rgb(0, 128, 0) for <div style='background: green;'><span style='background-color: rgba(255, 255, 0, 0);' id=selected>hello world</span></div> -PASS rgba(255, 255, 0, 0.498039) for <div style='background: green;'><span style='background-color: rgba(255, 255, 0, 0.5);' id=selected>hello world</span></div> +PASS rgba(255, 255, 0, 0.5) for <div style='background: green;'><span style='background-color: rgba(255, 255, 0, 0.5);' id=selected>hello world</span></div>
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/query-command-value-background-color.html b/third_party/WebKit/LayoutTests/editing/execCommand/query-command-value-background-color.html index 4a4ba18..9900f47 100644 --- a/third_party/WebKit/LayoutTests/editing/execCommand/query-command-value-background-color.html +++ b/third_party/WebKit/LayoutTests/editing/execCommand/query-command-value-background-color.html
@@ -55,6 +55,6 @@ test("<div style='background: green;' id=selected><span style='background-color: yellow'>hello</span><span style='background-color: blue'> world</span></div>", 'rgb(0, 128, 0)'); test("<div style='background: green;'><span style='background-color: yellow' id=selected>hello world</span></div>", 'rgb(255, 255, 0)'); test("<div style='background: green;'><span style='background-color: rgba(255, 255, 0, 0);' id=selected>hello world</span></div>", 'rgb(0, 128, 0)'); -test("<div style='background: green;'><span style='background-color: rgba(255, 255, 0, 0.5);' id=selected>hello world</span></div>", 'rgba(255, 255, 0, 0.498039)'); +test("<div style='background: green;'><span style='background-color: rgba(255, 255, 0, 0.5);' id=selected>hello world</span></div>", 'rgba(255, 255, 0, 0.5)'); </script>
diff --git a/third_party/WebKit/LayoutTests/fast/backgrounds/background-leakage-expected.png b/third_party/WebKit/LayoutTests/fast/backgrounds/background-leakage-expected.png index 04509d3..73f23d78 100644 --- a/third_party/WebKit/LayoutTests/fast/backgrounds/background-leakage-expected.png +++ b/third_party/WebKit/LayoutTests/fast/backgrounds/background-leakage-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/block/basic/fieldset-stretch-to-legend-expected.txt b/third_party/WebKit/LayoutTests/fast/block/basic/fieldset-stretch-to-legend-expected.txt index f7628e6..1d58e23 100644 --- a/third_party/WebKit/LayoutTests/fast/block/basic/fieldset-stretch-to-legend-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/block/basic/fieldset-stretch-to-legend-expected.txt
@@ -4,27 +4,27 @@ LayoutBlockFlow {HTML} at (0,0) size 785x898.31 LayoutBlockFlow {BODY} at (8,8) size 769x880.31 LayoutFieldset {FIELDSET} at (2,0) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (20,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (20,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,45.59) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (20,0) size 112x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (20,0) size 112x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,91.19) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (20,0) size 116x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (20,0) size 116x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,136.78) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (20,0) size 121x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (20,0) size 121x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,182.38) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (8,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (8,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,227.97) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (4,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (4,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,273.56) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (-1,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (-1,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,319.16) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (-49,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (-49,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,364.75) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (-54,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (-54,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,410.34) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (135,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (135,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,455.94) size 140x35.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (140,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (140,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,501.53) size 184x29.59 [border: (2px groove #C0C0C0)] LayoutBlockFlow {LEGEND} at (14,0) size 156x12 [border: (1px solid #0000FF)] LayoutFieldset {FIELDSET} at (2,541.13) size 184x59.59 [border: (2px groove #C0C0C0)]
diff --git a/third_party/WebKit/LayoutTests/fast/block/float/relative-painted-twice-expected.txt b/third_party/WebKit/LayoutTests/fast/block/float/relative-painted-twice-expected.txt index 4718095..299ade92 100644 --- a/third_party/WebKit/LayoutTests/fast/block/float/relative-painted-twice-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/block/float/relative-painted-twice-expected.txt
@@ -7,5 +7,5 @@ LayoutBlockFlow {DIV} at (0,150) size 769x0 layer at (8,58) size 769x0 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 769x0 - LayoutBlockFlow (floating) {DIV} at (0,0) size 100x100 [bgcolor=#0000007F] + LayoutBlockFlow (floating) {DIV} at (0,0) size 100x100 [bgcolor=#00000080] caret: position 0 of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-image-trumps-radius-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/border-image-trumps-radius-expected.txt index f23c2fcc..331ac5d5 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-image-trumps-radius-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/border-image-trumps-radius-expected.txt
@@ -4,4 +4,4 @@ LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,8) size 784x584 LayoutBlockFlow {DIV} at (0,0) size 100x100 [bgcolor=#FF0000] - LayoutBlockFlow {DIV} at (0,0) size 100x100 [bgcolor=#FF0000] [border: (10px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (0,0) size 100x100 [bgcolor=#FF0000] [border: (10px solid #0000FF80)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-left-right-same-bottom-different-color-expected.png b/third_party/WebKit/LayoutTests/fast/borders/border-left-right-same-bottom-different-color-expected.png index 8e147de..f526a44 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-left-right-same-bottom-different-color-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/border-left-right-same-bottom-different-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-left-right-same-bottom-different-color-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/border-left-right-same-bottom-different-color-expected.txt index 789308de..c236b74 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-left-right-same-bottom-different-color-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/border-left-right-same-bottom-different-color-expected.txt
@@ -3,4 +3,4 @@ layer at (0,0) size 800x176 LayoutBlockFlow {HTML} at (0,0) size 800x176 LayoutBlockFlow {BODY} at (8,8) size 784x160 - LayoutBlockFlow {DIV} at (0,0) size 260x160 [bgcolor=#AAAAAA] [border: (30px solid #00A1007F) (30px solid #CCCCCC) (30px solid #00A100) (30px solid #CCCCCC)] + LayoutBlockFlow {DIV} at (0,0) size 260x160 [bgcolor=#AAAAAA] [border: (30px solid #00A10080) (30px solid #CCCCCC) (30px solid #00A100) (30px solid #CCCCCC)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-mixed-alpha-expected.png b/third_party/WebKit/LayoutTests/fast/borders/border-mixed-alpha-expected.png index f05e11d..043ecf3b 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-mixed-alpha-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/border-mixed-alpha-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-mixed-alpha2-expected.png b/third_party/WebKit/LayoutTests/fast/borders/border-mixed-alpha2-expected.png index 49bee9da..3c3aae5 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-mixed-alpha2-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/border-mixed-alpha2-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-radius-groove-03-expected.png b/third_party/WebKit/LayoutTests/fast/borders/border-radius-groove-03-expected.png index 6c63fab..2bae425 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-radius-groove-03-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/border-radius-groove-03-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-radius-groove-03-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/border-radius-groove-03-expected.txt index 69ea46b5..3635148 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-radius-groove-03-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/border-radius-groove-03-expected.txt
@@ -3,4 +3,4 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x560 - LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (26px groove #FF0000) (52px groove #0080007F) (26px groove #0080007F) (52px groove #0000FF)] + LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (26px groove #FF0000) (52px groove #00800080) (26px groove #00800080) (52px groove #0000FF)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-03-expected.png b/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-03-expected.png index 3e5800b..9c469c9 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-03-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-03-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-03-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-03-expected.txt index 4f1d18d..66c22bc 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-03-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-03-expected.txt
@@ -3,4 +3,4 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x560 - LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (94px solid #FF0000) (80px solid #0080007F) (94px solid #0080007F) (80px solid #0000FF)] + LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (94px solid #FF0000) (80px solid #00800080) (94px solid #00800080) (80px solid #0000FF)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-04-expected.png b/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-04-expected.png index 8aa16444..c43996c9 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-04-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-04-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-04-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-04-expected.txt index d3d2c56..327a1db 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-04-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/border-radius-wide-border-04-expected.txt
@@ -3,4 +3,4 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x560 - LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (90px solid #FF0000) (180px solid #0080007F) (90px solid #0080007F) (180px solid #0000FF)] + LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (90px solid #FF0000) (180px solid #00800080) (90px solid #00800080) (180px solid #0000FF)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDashed05-expected.png b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDashed05-expected.png index 9acf7f8..a81bd462 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDashed05-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDashed05-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDashed05-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDashed05-expected.txt index 87ade259..3d5566c 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDashed05-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDashed05-expected.txt
@@ -3,4 +3,4 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x560 - LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (12px dashed #FF0000) (4px dashed #0080007F) (12px dashed #0080007F) (4px dashed #0000FF)] + LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (12px dashed #FF0000) (4px dashed #00800080) (12px dashed #00800080) (4px dashed #0000FF)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted05-expected.png b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted05-expected.png index e9374fe..3493b51 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted05-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted05-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted05-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted05-expected.txt index 3b21d069..0468eb6 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted05-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted05-expected.txt
@@ -3,4 +3,4 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x560 - LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (84px dotted #FF0000) (84px dotted #0080007F) (84px dotted #0000FF)] + LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (84px dotted #FF0000) (84px dotted #00800080) (84px dotted #0000FF)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted06-expected.png b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted06-expected.png index ba2b701..08baa374 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted06-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted06-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted06-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted06-expected.txt index 8579e8b..09a41f8 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted06-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDotted06-expected.txt
@@ -3,4 +3,4 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x560 - LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (20px dotted #FF0000) (20px dotted #0080007F) (20px dotted #0000FF)] + LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (20px dotted #FF0000) (20px dotted #00800080) (20px dotted #0000FF)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble05-expected.png b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble05-expected.png index 6951d9b2..a70d10a 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble05-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble05-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble05-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble05-expected.txt index 6dfcaef..53a67b2 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble05-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble05-expected.txt
@@ -3,4 +3,4 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x560 - LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (94px double #FF0000) (80px double #0080007F) (94px double #0080007F) (80px double #0000FF)] + LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (94px double #FF0000) (80px double #00800080) (94px double #00800080) (80px double #0000FF)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble09-expected.png b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble09-expected.png index adfdb6c..95e01cd6 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble09-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble09-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble09-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble09-expected.txt index 30186edd..417c2a3 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble09-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/borderRadiusDouble09-expected.txt
@@ -3,4 +3,4 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x560 - LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (100px double #FF0000) (81px double #0080007F) (100px double #0080007F) (81px double #0000FF)] + LayoutBlockFlow {DIV} at (20,0) size 400x400 [border: (100px double #FF0000) (81px double #00800080) (100px double #00800080) (81px double #0000FF)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/fieldsetBorderRadius-expected.png b/third_party/WebKit/LayoutTests/fast/borders/fieldsetBorderRadius-expected.png index 20565063..dd9778e 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/fieldsetBorderRadius-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/fieldsetBorderRadius-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/fieldsetBorderRadius-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/fieldsetBorderRadius-expected.txt index c46c845..779710e 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/fieldsetBorderRadius-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/borders/fieldsetBorderRadius-expected.txt
@@ -5,32 +5,32 @@ LayoutBlockFlow {BODY} at (8,8) size 784x582 LayoutBlockFlow (floating) {DIV} at (0,0) size 158x459.16 LayoutFieldset {FIELDSET} at (2,0) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (20,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (20,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,61.59) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (20,0) size 112x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (20,0) size 112x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,123.19) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (20,0) size 116x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (20,0) size 116x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,184.78) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (20,0) size 121x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (20,0) size 121x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,246.38) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (8,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (8,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,307.97) size 154x65.59 [border: (15px solid #000000)] - LayoutBlockFlow {LEGEND} at (15,1.50) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (15,1.50) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,383.56) size 154x65.59 [border: (15px solid #000000)] - LayoutBlockFlow {LEGEND} at (15,1.50) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (15,1.50) size 54x12 [bgcolor=#0080004D] LayoutBlockFlow (floating) {DIV} at (228,0) size 144x369.56 LayoutFieldset {FIELDSET} at (2,0) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (4,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (4,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,61.59) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (-1,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (-1,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,123.19) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (-49,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (-49,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,184.78) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (-54,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (-54,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,246.38) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (135,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (135,0) size 54x12 [bgcolor=#0080004D] LayoutFieldset {FIELDSET} at (2,307.97) size 140x51.59 [border: (8px double #000000)] - LayoutBlockFlow {LEGEND} at (140,0) size 54x12 [bgcolor=#0080004C] + LayoutBlockFlow {LEGEND} at (140,0) size 54x12 [bgcolor=#0080004D] LayoutBlockFlow {DIV} at (450,0) size 334x388.78 LayoutFieldset {FIELDSET} at (2,0) size 184x39.59 [border: (2px groove #C0C0C0)] LayoutBlockFlow {LEGEND} at (14,0) size 156x12 [border: (1px solid #0000FF)]
diff --git a/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-expected.png b/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-expected.png index 878c6a9..122bb43 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-radius-expected.png b/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-radius-expected.png index 8a24712e..7e0fb55 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-radius-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-radius-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-radius2-expected.png b/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-radius2-expected.png index ecf4d2d..3162fb7 100644 --- a/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-radius2-expected.png +++ b/third_party/WebKit/LayoutTests/fast/borders/mixed-border-styles-radius2-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/box-shadow/box-shadow-radius-expected.png b/third_party/WebKit/LayoutTests/fast/box-shadow/box-shadow-radius-expected.png index 484579df..3df19ce6 100644 --- a/third_party/WebKit/LayoutTests/fast/box-shadow/box-shadow-radius-expected.png +++ b/third_party/WebKit/LayoutTests/fast/box-shadow/box-shadow-radius-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/box-shadow/inset-box-shadow-radius-expected.png b/third_party/WebKit/LayoutTests/fast/box-shadow/inset-box-shadow-radius-expected.png index 858389fa..d8bb4dfd 100644 --- a/third_party/WebKit/LayoutTests/fast/box-shadow/inset-box-shadow-radius-expected.png +++ b/third_party/WebKit/LayoutTests/fast/box-shadow/inset-box-shadow-radius-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/box-shadow/shadow-tiling-artifact-expected.png b/third_party/WebKit/LayoutTests/fast/box-shadow/shadow-tiling-artifact-expected.png index e43ba3d..a5030b5 100644 --- a/third_party/WebKit/LayoutTests/fast/box-shadow/shadow-tiling-artifact-expected.png +++ b/third_party/WebKit/LayoutTests/fast/box-shadow/shadow-tiling-artifact-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-arc-circumference-expected.png b/third_party/WebKit/LayoutTests/fast/canvas/canvas-arc-circumference-expected.png index e927fcd5..949c0252c 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-arc-circumference-expected.png +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-arc-circumference-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-arc-circumference-fill-expected.png b/third_party/WebKit/LayoutTests/fast/canvas/canvas-arc-circumference-fill-expected.png index a7e92f45..a742135 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-arc-circumference-fill-expected.png +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-arc-circumference-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-blend-image-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/canvas-blend-image-expected.txt index 8a2726db..410ccb9 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-blend-image-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-blend-image-expected.txt
@@ -974,7 +974,7 @@ PASS pixelDataAtPoint(1)[1] is within 5 of 85 PASS pixelDataAtPoint(1)[2] is within 5 of 167 PASS pixelDataAtPoint(1)[3] is within 5 of 191 -PASS pixelDataAtPoint(2)[0] is within 5 of 0 +PASS pixelDataAtPoint(2)[0] is within 5 of 4 PASS pixelDataAtPoint(2)[1] is within 5 of 48 PASS pixelDataAtPoint(2)[2] is within 5 of 130 PASS pixelDataAtPoint(2)[3] is within 5 of 191
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-composite-transformclip-expected.png b/third_party/WebKit/LayoutTests/fast/canvas/canvas-composite-transformclip-expected.png index e87f440..7afd803 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-composite-transformclip-expected.png +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-composite-transformclip-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-ellipse-circumference-expected.png b/third_party/WebKit/LayoutTests/fast/canvas/canvas-ellipse-circumference-expected.png index 961031a..392a4a0d 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-ellipse-circumference-expected.png +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-ellipse-circumference-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-ellipse-circumference-fill-expected.png b/third_party/WebKit/LayoutTests/fast/canvas/canvas-ellipse-circumference-fill-expected.png index b0ac807..2f53772 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-ellipse-circumference-fill-expected.png +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-ellipse-circumference-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/rgba-parsing-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/rgba-parsing-expected.txt index 15a9a62..cbe35c6 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/rgba-parsing-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/canvas/rgba-parsing-expected.txt
@@ -30,63 +30,63 @@ PASS parse('rgba(0, 0, 0, 0.0)') is 'RGBA[0, 0, 0, 0]' PASS parse('rgba(0, 0, 0, 00.0)') is 'RGBA[0, 0, 0, 0]' PASS parse('rgba(0, 0, 0, 0.00)') is 'RGBA[0, 0, 0, 0]' -PASS parse('rgba(0, 0, 0, .1)') is 'RGBA[0, 0, 0, 25]' +PASS parse('rgba(0, 0, 0, .1)') is 'RGBA[0, 0, 0, 26]' PASS parse('rgba(0, 0, 0, .2)') is 'RGBA[0, 0, 0, 51]' -PASS parse('rgba(0, 0, 0, .3)') is 'RGBA[0, 0, 0, 76]' +PASS parse('rgba(0, 0, 0, .3)') is 'RGBA[0, 0, 0, 77]' PASS parse('rgba(0, 0, 0, .4)') is 'RGBA[0, 0, 0, 102]' -PASS parse('rgba(0, 0, 0, .5)') is 'RGBA[0, 0, 0, 127]' +PASS parse('rgba(0, 0, 0, .5)') is 'RGBA[0, 0, 0, 128]' PASS parse('rgba(0, 0, 0, .6)') is 'RGBA[0, 0, 0, 153]' PASS parse('rgba(0, 0, 0, .7)') is 'RGBA[0, 0, 0, 179]' PASS parse('rgba(0, 0, 0, .8)') is 'RGBA[0, 0, 0, 204]' PASS parse('rgba(0, 0, 0, .9)') is 'RGBA[0, 0, 0, 230]' -PASS parse('rgba(0, 0, 0, 0.1)') is 'RGBA[0, 0, 0, 25]' +PASS parse('rgba(0, 0, 0, 0.1)') is 'RGBA[0, 0, 0, 26]' PASS parse('rgba(0, 0, 0, 0.2)') is 'RGBA[0, 0, 0, 51]' -PASS parse('rgba(0, 0, 0, 0.3)') is 'RGBA[0, 0, 0, 76]' +PASS parse('rgba(0, 0, 0, 0.3)') is 'RGBA[0, 0, 0, 77]' PASS parse('rgba(0, 0, 0, 0.4)') is 'RGBA[0, 0, 0, 102]' -PASS parse('rgba(0, 0, 0, 0.5)') is 'RGBA[0, 0, 0, 127]' +PASS parse('rgba(0, 0, 0, 0.5)') is 'RGBA[0, 0, 0, 128]' PASS parse('rgba(0, 0, 0, 0.6)') is 'RGBA[0, 0, 0, 153]' PASS parse('rgba(0, 0, 0, 0.7)') is 'RGBA[0, 0, 0, 179]' PASS parse('rgba(0, 0, 0, 0.8)') is 'RGBA[0, 0, 0, 204]' PASS parse('rgba(0, 0, 0, 0.9)') is 'RGBA[0, 0, 0, 230]' PASS parse('rgba(0, 0, 0, 1.0)') is 'RGBA[0, 0, 0, 255]' -PASS parse('rgba(0, 0, 0, 0.10)') is 'RGBA[0, 0, 0, 25]' +PASS parse('rgba(0, 0, 0, 0.10)') is 'RGBA[0, 0, 0, 26]' PASS parse('rgba(0, 0, 0, 0.20)') is 'RGBA[0, 0, 0, 51]' -PASS parse('rgba(0, 0, 0, 0.30)') is 'RGBA[0, 0, 0, 76]' +PASS parse('rgba(0, 0, 0, 0.30)') is 'RGBA[0, 0, 0, 77]' PASS parse('rgba(0, 0, 0, 0.40)') is 'RGBA[0, 0, 0, 102]' -PASS parse('rgba(0, 0, 0, 0.50)') is 'RGBA[0, 0, 0, 127]' +PASS parse('rgba(0, 0, 0, 0.50)') is 'RGBA[0, 0, 0, 128]' PASS parse('rgba(0, 0, 0, 0.60)') is 'RGBA[0, 0, 0, 153]' PASS parse('rgba(0, 0, 0, 0.70)') is 'RGBA[0, 0, 0, 179]' PASS parse('rgba(0, 0, 0, 0.80)') is 'RGBA[0, 0, 0, 204]' PASS parse('rgba(0, 0, 0, 0.90)') is 'RGBA[0, 0, 0, 230]' PASS parse('rgba(0, 0, 0, 1.00)') is 'RGBA[0, 0, 0, 255]' -PASS parse('rgba(0, 0, 0, .10)') is 'RGBA[0, 0, 0, 25]' +PASS parse('rgba(0, 0, 0, .10)') is 'RGBA[0, 0, 0, 26]' PASS parse('rgba(0, 0, 0, .20)') is 'RGBA[0, 0, 0, 51]' -PASS parse('rgba(0, 0, 0, .30)') is 'RGBA[0, 0, 0, 76]' +PASS parse('rgba(0, 0, 0, .30)') is 'RGBA[0, 0, 0, 77]' PASS parse('rgba(0, 0, 0, .40)') is 'RGBA[0, 0, 0, 102]' -PASS parse('rgba(0, 0, 0, .50)') is 'RGBA[0, 0, 0, 127]' +PASS parse('rgba(0, 0, 0, .50)') is 'RGBA[0, 0, 0, 128]' PASS parse('rgba(0, 0, 0, .60)') is 'RGBA[0, 0, 0, 153]' PASS parse('rgba(0, 0, 0, .70)') is 'RGBA[0, 0, 0, 179]' PASS parse('rgba(0, 0, 0, .80)') is 'RGBA[0, 0, 0, 204]' PASS parse('rgba(0, 0, 0, .90)') is 'RGBA[0, 0, 0, 230]' -PASS parse('rgba(0, 0, 0, 0.10000000000000000000000)') is 'RGBA[0, 0, 0, 25]' +PASS parse('rgba(0, 0, 0, 0.10000000000000000000000)') is 'RGBA[0, 0, 0, 26]' PASS parse('rgba(0, 0, 0, 0.20000000000000000000000)') is 'RGBA[0, 0, 0, 51]' -PASS parse('rgba(0, 0, 0, 0.30000000000000000000000)') is 'RGBA[0, 0, 0, 76]' +PASS parse('rgba(0, 0, 0, 0.30000000000000000000000)') is 'RGBA[0, 0, 0, 77]' PASS parse('rgba(0, 0, 0, 0.40000000000000000000000)') is 'RGBA[0, 0, 0, 102]' -PASS parse('rgba(0, 0, 0, 0.50000000000000000000000)') is 'RGBA[0, 0, 0, 127]' +PASS parse('rgba(0, 0, 0, 0.50000000000000000000000)') is 'RGBA[0, 0, 0, 128]' PASS parse('rgba(0, 0, 0, 0.60000000000000000000000)') is 'RGBA[0, 0, 0, 153]' PASS parse('rgba(0, 0, 0, 0.70000000000000000000000)') is 'RGBA[0, 0, 0, 179]' PASS parse('rgba(0, 0, 0, 0.80000000000000000000000)') is 'RGBA[0, 0, 0, 204]' PASS parse('rgba(0, 0, 0, 0.90000000000000000000000)') is 'RGBA[0, 0, 0, 230]' PASS parse('rgba(0, 0, 0, 1.00000000000000000000000)') is 'RGBA[0, 0, 0, 255]' -PASS parse('rgba(0, 0, 0, 0.990)') is 'RGBA[0, 0, 0, 253]' +PASS parse('rgba(0, 0, 0, 0.990)') is 'RGBA[0, 0, 0, 252]' PASS parse('rgba(0, 0, 0, 0.991)') is 'RGBA[0, 0, 0, 253]' PASS parse('rgba(0, 0, 0, 0.992)') is 'RGBA[0, 0, 0, 253]' -PASS parse('rgba(0, 0, 0, 0.993)') is 'RGBA[0, 0, 0, 254]' -PASS parse('rgba(0, 0, 0, 0.994)') is 'RGBA[0, 0, 0, 254]' +PASS parse('rgba(0, 0, 0, 0.993)') is 'RGBA[0, 0, 0, 253]' +PASS parse('rgba(0, 0, 0, 0.994)') is 'RGBA[0, 0, 0, 253]' PASS parse('rgba(0, 0, 0, 0.995)') is 'RGBA[0, 0, 0, 254]' PASS parse('rgba(0, 0, 0, 0.996)') is 'RGBA[0, 0, 0, 254]' -PASS parse('rgba(0, 0, 0, 0.997)') is 'RGBA[0, 0, 0, 255]' -PASS parse('rgba(0, 0, 0, 0.998)') is 'RGBA[0, 0, 0, 255]' +PASS parse('rgba(0, 0, 0, 0.997)') is 'RGBA[0, 0, 0, 254]' +PASS parse('rgba(0, 0, 0, 0.998)') is 'RGBA[0, 0, 0, 254]' PASS parse('rgba(0, 0, 0, 0.999)') is 'RGBA[0, 0, 0, 255]' PASS successfullyParsed is true
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-blend-image.js b/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-blend-image.js index e0698ce..e2bc834 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-blend-image.js +++ b/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-blend-image.js
@@ -105,7 +105,7 @@ [[0, 0, 255, 255],[0, 0, 255, 255],[14, 14, 142, 255],[0, 0, 255, 255]], [[0, 0, 255, 255],[0, 0, 255, 255],[7, 7, 198, 255],[0, 0, 255, 255]], [[128, 0, 127, 255],[128, 128, 127, 255],[7, 71, 70, 255],[0, 0, 255, 255]], - [[85, 0, 167, 191],[85, 85, 167, 191],[0, 48, 130, 191],[0, 0, 255, 191]] + [[85, 0, 167, 191],[85, 85, 167, 191],[4, 48, 130, 191],[0, 0, 255, 191]] ], ['color', [[93, 0, 0, 255],[31, 31, 0, 255],[0, 47, 0, 255],[0, 0, 255, 255]],
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/script-tests/rgba-parsing.js b/third_party/WebKit/LayoutTests/fast/canvas/script-tests/rgba-parsing.js index e84847a..6123bf0 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/script-tests/rgba-parsing.js +++ b/third_party/WebKit/LayoutTests/fast/canvas/script-tests/rgba-parsing.js
@@ -39,61 +39,61 @@ shouldBe("parse('rgba(0, 0, 0, 0.0)')", "'RGBA[0, 0, 0, 0]'"); shouldBe("parse('rgba(0, 0, 0, 00.0)')", "'RGBA[0, 0, 0, 0]'"); shouldBe("parse('rgba(0, 0, 0, 0.00)')", "'RGBA[0, 0, 0, 0]'"); -shouldBe("parse('rgba(0, 0, 0, .1)')", "'RGBA[0, 0, 0, 25]'"); +shouldBe("parse('rgba(0, 0, 0, .1)')", "'RGBA[0, 0, 0, 26]'"); shouldBe("parse('rgba(0, 0, 0, .2)')", "'RGBA[0, 0, 0, 51]'"); -shouldBe("parse('rgba(0, 0, 0, .3)')", "'RGBA[0, 0, 0, 76]'"); +shouldBe("parse('rgba(0, 0, 0, .3)')", "'RGBA[0, 0, 0, 77]'"); shouldBe("parse('rgba(0, 0, 0, .4)')", "'RGBA[0, 0, 0, 102]'"); -shouldBe("parse('rgba(0, 0, 0, .5)')", "'RGBA[0, 0, 0, 127]'"); +shouldBe("parse('rgba(0, 0, 0, .5)')", "'RGBA[0, 0, 0, 128]'"); shouldBe("parse('rgba(0, 0, 0, .6)')", "'RGBA[0, 0, 0, 153]'"); shouldBe("parse('rgba(0, 0, 0, .7)')", "'RGBA[0, 0, 0, 179]'"); shouldBe("parse('rgba(0, 0, 0, .8)')", "'RGBA[0, 0, 0, 204]'"); shouldBe("parse('rgba(0, 0, 0, .9)')", "'RGBA[0, 0, 0, 230]'"); -shouldBe("parse('rgba(0, 0, 0, 0.1)')", "'RGBA[0, 0, 0, 25]'"); +shouldBe("parse('rgba(0, 0, 0, 0.1)')", "'RGBA[0, 0, 0, 26]'"); shouldBe("parse('rgba(0, 0, 0, 0.2)')", "'RGBA[0, 0, 0, 51]'"); -shouldBe("parse('rgba(0, 0, 0, 0.3)')", "'RGBA[0, 0, 0, 76]'"); +shouldBe("parse('rgba(0, 0, 0, 0.3)')", "'RGBA[0, 0, 0, 77]'"); shouldBe("parse('rgba(0, 0, 0, 0.4)')", "'RGBA[0, 0, 0, 102]'"); -shouldBe("parse('rgba(0, 0, 0, 0.5)')", "'RGBA[0, 0, 0, 127]'"); +shouldBe("parse('rgba(0, 0, 0, 0.5)')", "'RGBA[0, 0, 0, 128]'"); shouldBe("parse('rgba(0, 0, 0, 0.6)')", "'RGBA[0, 0, 0, 153]'"); shouldBe("parse('rgba(0, 0, 0, 0.7)')", "'RGBA[0, 0, 0, 179]'"); shouldBe("parse('rgba(0, 0, 0, 0.8)')", "'RGBA[0, 0, 0, 204]'"); shouldBe("parse('rgba(0, 0, 0, 0.9)')", "'RGBA[0, 0, 0, 230]'"); shouldBe("parse('rgba(0, 0, 0, 1.0)')", "'RGBA[0, 0, 0, 255]'"); -shouldBe("parse('rgba(0, 0, 0, 0.10)')", "'RGBA[0, 0, 0, 25]'"); +shouldBe("parse('rgba(0, 0, 0, 0.10)')", "'RGBA[0, 0, 0, 26]'"); shouldBe("parse('rgba(0, 0, 0, 0.20)')", "'RGBA[0, 0, 0, 51]'"); -shouldBe("parse('rgba(0, 0, 0, 0.30)')", "'RGBA[0, 0, 0, 76]'"); +shouldBe("parse('rgba(0, 0, 0, 0.30)')", "'RGBA[0, 0, 0, 77]'"); shouldBe("parse('rgba(0, 0, 0, 0.40)')", "'RGBA[0, 0, 0, 102]'"); -shouldBe("parse('rgba(0, 0, 0, 0.50)')", "'RGBA[0, 0, 0, 127]'"); +shouldBe("parse('rgba(0, 0, 0, 0.50)')", "'RGBA[0, 0, 0, 128]'"); shouldBe("parse('rgba(0, 0, 0, 0.60)')", "'RGBA[0, 0, 0, 153]'"); shouldBe("parse('rgba(0, 0, 0, 0.70)')", "'RGBA[0, 0, 0, 179]'"); shouldBe("parse('rgba(0, 0, 0, 0.80)')", "'RGBA[0, 0, 0, 204]'"); shouldBe("parse('rgba(0, 0, 0, 0.90)')", "'RGBA[0, 0, 0, 230]'"); shouldBe("parse('rgba(0, 0, 0, 1.00)')", "'RGBA[0, 0, 0, 255]'"); -shouldBe("parse('rgba(0, 0, 0, .10)')", "'RGBA[0, 0, 0, 25]'"); +shouldBe("parse('rgba(0, 0, 0, .10)')", "'RGBA[0, 0, 0, 26]'"); shouldBe("parse('rgba(0, 0, 0, .20)')", "'RGBA[0, 0, 0, 51]'"); -shouldBe("parse('rgba(0, 0, 0, .30)')", "'RGBA[0, 0, 0, 76]'"); +shouldBe("parse('rgba(0, 0, 0, .30)')", "'RGBA[0, 0, 0, 77]'"); shouldBe("parse('rgba(0, 0, 0, .40)')", "'RGBA[0, 0, 0, 102]'"); -shouldBe("parse('rgba(0, 0, 0, .50)')", "'RGBA[0, 0, 0, 127]'"); +shouldBe("parse('rgba(0, 0, 0, .50)')", "'RGBA[0, 0, 0, 128]'"); shouldBe("parse('rgba(0, 0, 0, .60)')", "'RGBA[0, 0, 0, 153]'"); shouldBe("parse('rgba(0, 0, 0, .70)')", "'RGBA[0, 0, 0, 179]'"); shouldBe("parse('rgba(0, 0, 0, .80)')", "'RGBA[0, 0, 0, 204]'"); shouldBe("parse('rgba(0, 0, 0, .90)')", "'RGBA[0, 0, 0, 230]'"); -shouldBe("parse('rgba(0, 0, 0, 0.10000000000000000000000)')", "'RGBA[0, 0, 0, 25]'"); +shouldBe("parse('rgba(0, 0, 0, 0.10000000000000000000000)')", "'RGBA[0, 0, 0, 26]'"); shouldBe("parse('rgba(0, 0, 0, 0.20000000000000000000000)')", "'RGBA[0, 0, 0, 51]'"); -shouldBe("parse('rgba(0, 0, 0, 0.30000000000000000000000)')", "'RGBA[0, 0, 0, 76]'"); +shouldBe("parse('rgba(0, 0, 0, 0.30000000000000000000000)')", "'RGBA[0, 0, 0, 77]'"); shouldBe("parse('rgba(0, 0, 0, 0.40000000000000000000000)')", "'RGBA[0, 0, 0, 102]'"); -shouldBe("parse('rgba(0, 0, 0, 0.50000000000000000000000)')", "'RGBA[0, 0, 0, 127]'"); +shouldBe("parse('rgba(0, 0, 0, 0.50000000000000000000000)')", "'RGBA[0, 0, 0, 128]'"); shouldBe("parse('rgba(0, 0, 0, 0.60000000000000000000000)')", "'RGBA[0, 0, 0, 153]'"); shouldBe("parse('rgba(0, 0, 0, 0.70000000000000000000000)')", "'RGBA[0, 0, 0, 179]'"); shouldBe("parse('rgba(0, 0, 0, 0.80000000000000000000000)')", "'RGBA[0, 0, 0, 204]'"); shouldBe("parse('rgba(0, 0, 0, 0.90000000000000000000000)')", "'RGBA[0, 0, 0, 230]'"); shouldBe("parse('rgba(0, 0, 0, 1.00000000000000000000000)')", "'RGBA[0, 0, 0, 255]'"); -shouldBe("parse('rgba(0, 0, 0, 0.990)')", "'RGBA[0, 0, 0, 253]'"); +shouldBe("parse('rgba(0, 0, 0, 0.990)')", "'RGBA[0, 0, 0, 252]'"); shouldBe("parse('rgba(0, 0, 0, 0.991)')", "'RGBA[0, 0, 0, 253]'"); shouldBe("parse('rgba(0, 0, 0, 0.992)')", "'RGBA[0, 0, 0, 253]'"); -shouldBe("parse('rgba(0, 0, 0, 0.993)')", "'RGBA[0, 0, 0, 254]'"); -shouldBe("parse('rgba(0, 0, 0, 0.994)')", "'RGBA[0, 0, 0, 254]'"); +shouldBe("parse('rgba(0, 0, 0, 0.993)')", "'RGBA[0, 0, 0, 253]'"); +shouldBe("parse('rgba(0, 0, 0, 0.994)')", "'RGBA[0, 0, 0, 253]'"); shouldBe("parse('rgba(0, 0, 0, 0.995)')", "'RGBA[0, 0, 0, 254]'"); shouldBe("parse('rgba(0, 0, 0, 0.996)')", "'RGBA[0, 0, 0, 254]'"); -shouldBe("parse('rgba(0, 0, 0, 0.997)')", "'RGBA[0, 0, 0, 255]'"); -shouldBe("parse('rgba(0, 0, 0, 0.998)')", "'RGBA[0, 0, 0, 255]'"); +shouldBe("parse('rgba(0, 0, 0, 0.997)')", "'RGBA[0, 0, 0, 254]'"); +shouldBe("parse('rgba(0, 0, 0, 0.998)')", "'RGBA[0, 0, 0, 254]'"); shouldBe("parse('rgba(0, 0, 0, 0.999)')", "'RGBA[0, 0, 0, 255]'");
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/toDataURL-alpha-stability-expected.png b/third_party/WebKit/LayoutTests/fast/canvas/toDataURL-alpha-stability-expected.png index d75e03b..78f1c74 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas/toDataURL-alpha-stability-expected.png +++ b/third_party/WebKit/LayoutTests/fast/canvas/toDataURL-alpha-stability-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/css/percentage-non-integer-expected.png b/third_party/WebKit/LayoutTests/fast/css/percentage-non-integer-expected.png index 8a66359..4546d50 100644 --- a/third_party/WebKit/LayoutTests/fast/css/percentage-non-integer-expected.png +++ b/third_party/WebKit/LayoutTests/fast/css/percentage-non-integer-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-color-expected.txt b/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-color-expected.txt index f3200b7..afed9eb 100644 --- a/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-color-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-color-expected.txt
@@ -27,16 +27,16 @@ PASS computedStyle.textDecorationColor is "rgb(0, 255, 0)" Valid value 'rgba(100, 100, 100, 0.5)': -PASS e.style.textDecorationColor is "rgba(100, 100, 100, 0.498039)" -PASS computedStyle.textDecorationColor is "rgba(100, 100, 100, 0.498039)" +PASS e.style.textDecorationColor is "rgba(100, 100, 100, 0.5)" +PASS computedStyle.textDecorationColor is "rgba(100, 100, 100, 0.5)" Valid value 'hsl(240, 100%, 50%)': PASS e.style.textDecorationColor is "rgb(0, 0, 255)" PASS computedStyle.textDecorationColor is "rgb(0, 0, 255)" Valid value 'hsla(240, 100%, 50%, 0.5)': -PASS e.style.textDecorationColor is "rgba(0, 0, 255, 0.498039)" -PASS computedStyle.textDecorationColor is "rgba(0, 0, 255, 0.498039)" +PASS e.style.textDecorationColor is "rgba(0, 0, 255, 0.498)" +PASS computedStyle.textDecorationColor is "rgba(0, 0, 255, 0.498)" Initial value: PASS e.style.textDecorationColor is "initial"
diff --git a/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-color.js b/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-color.js index 48660109..94c94885 100644 --- a/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-color.js +++ b/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-color.js
@@ -38,13 +38,13 @@ test("rgb(0, 255, 0)", "rgb(0, 255, 0)", "rgb(0, 255, 0)"); debug("Valid value 'rgba(100, 100, 100, 0.5)':"); -test("rgba(100, 100, 100, 0.5)", "rgba(100, 100, 100, 0.498039)", "rgba(100, 100, 100, 0.498039)"); +test("rgba(100, 100, 100, 0.5)", "rgba(100, 100, 100, 0.5)", "rgba(100, 100, 100, 0.5)"); debug("Valid value 'hsl(240, 100%, 50%)':"); test("hsl(240, 100%, 50%)", "rgb(0, 0, 255)", "rgb(0, 0, 255)"); debug("Valid value 'hsla(240, 100%, 50%, 0.5)':"); -test("hsla(240, 100%, 50%, 0.5)", "rgba(0, 0, 255, 0.498039)", "rgba(0, 0, 255, 0.498039)"); +test("hsla(240, 100%, 50%, 0.5)", "rgba(0, 0, 255, 0.498)", "rgba(0, 0, 255, 0.498)"); debug("Initial value:"); test("initial", "initial", "rgb(0, 0, 0)");
diff --git a/third_party/WebKit/LayoutTests/fast/frames/content-opacity-1-expected.png b/third_party/WebKit/LayoutTests/fast/frames/content-opacity-1-expected.png index cdd72c7..b2258d6 100644 --- a/third_party/WebKit/LayoutTests/fast/frames/content-opacity-1-expected.png +++ b/third_party/WebKit/LayoutTests/fast/frames/content-opacity-1-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/frames/content-opacity-1-expected.txt b/third_party/WebKit/LayoutTests/fast/frames/content-opacity-1-expected.txt index 65fd2d9..270de6a0 100644 --- a/third_party/WebKit/LayoutTests/fast/frames/content-opacity-1-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/frames/content-opacity-1-expected.txt
@@ -11,4 +11,4 @@ LayoutView at (0,0) size 300x150 layer at (0,0) size 300x150 LayoutBlockFlow {HTML} at (0,0) size 300x150 - LayoutBlockFlow {BODY} at (8,8) size 284x134 [bgcolor=#0000007F] + LayoutBlockFlow {BODY} at (8,8) size 284x134 [bgcolor=#00000080]
diff --git a/third_party/WebKit/LayoutTests/fast/layers/self-painting-outline-expected.png b/third_party/WebKit/LayoutTests/fast/layers/self-painting-outline-expected.png index ad645a3..c210068 100644 --- a/third_party/WebKit/LayoutTests/fast/layers/self-painting-outline-expected.png +++ b/third_party/WebKit/LayoutTests/fast/layers/self-painting-outline-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/performance/performance-first-paint-timing-observable.html b/third_party/WebKit/LayoutTests/fast/performance/performance-first-paint-timing-observable.html new file mode 100644 index 0000000..081aeb3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/fast/performance/performance-first-paint-timing-observable.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<head> +<title>Performance Paint Timing Test</title> +</head> +<body> + <script src="../../resources/testharness.js"></script> + <script src="../../resources/testharnessreport.js"></script> + <script> + + async_test(function (t) { + var observer = new PerformanceObserver( + t.step_func(function (entryList) { + var entries = entryList.getEntries(); + // Nothing contentful to be painted yet. + assert_equals(entries.length, 1, + "There should be only first paint timing instance."); + assert_equals(entries[0].entryType, "paint", + "Expected entryType to be: paint."); + assert_equals(entries[0].name, "first-paint", + "Expected name to be: first-paint."); + assert_equals(entries[0].duration, 0, + "Expected duration to be: 0."); + observer.disconnect(); + t.done(); + }) + ); + observer.observe({entryTypes: ["paint"]}); + + }, "Performance first paint timing entry is observable."); + </script> + + <div style="background-color:black;color:white;padding:20px;"></div> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/fast/performance/performance-paint-timing-observable.html b/third_party/WebKit/LayoutTests/fast/performance/performance-paint-timing-observable.html new file mode 100644 index 0000000..e73b9e6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/fast/performance/performance-paint-timing-observable.html
@@ -0,0 +1,36 @@ +<!DOCTYPE html> +<head> +<title>Performance Paint Timing Test</title> +</head> +<body> + <script src="../../resources/testharness.js"></script> + <script src="../../resources/testharnessreport.js"></script> + <script> + + async_test(function (t) { + var observer = new PerformanceObserver( + t.step_func(function (entryList) { + var entries = entryList.getEntries(); + assert_equals(entries.length, 2, + "There should be two paint timing instances."); + assert_equals(entries[0].entryType, "paint", + "Expected entryType to be: paint."); + assert_equals(entries[0].duration, 0, + "Expected duration to be: 0."); + + assert_equals(entries[1].entryType, "paint", + "Expected entryType to be: paint."); + assert_equals(entries[1].duration, 0, + "Expected duration to be: 0."); + observer.disconnect(); + t.done(); + }) + ); + observer.observe({entryTypes: ["paint"]}); + + }, "Both first-paint-timing and first-contentful-paint timing entry are observable."); + + </script> + <div style="background-color:black;color:white;padding:20px;">...test...</div> +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/fast/replaced/border-radius-clip-content-edge-expected.png b/third_party/WebKit/LayoutTests/fast/replaced/border-radius-clip-content-edge-expected.png index 81e4a119..4014ef3 100644 --- a/third_party/WebKit/LayoutTests/fast/replaced/border-radius-clip-content-edge-expected.png +++ b/third_party/WebKit/LayoutTests/fast/replaced/border-radius-clip-content-edge-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/ruby/select-ruby-expected.txt b/third_party/WebKit/LayoutTests/fast/ruby/select-ruby-expected.txt index fb7bfae..e3d13a4 100644 --- a/third_party/WebKit/LayoutTests/fast/ruby/select-ruby-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/ruby/select-ruby-expected.txt
@@ -2,7 +2,7 @@ LayoutView at (0,0) size 800x600 layer at (0,0) size 800x40 LayoutBlockFlow {HTML} at (0,0) size 800x40 - LayoutBlockFlow {BODY} at (8,8) size 784x24 [color=#00000019] + LayoutBlockFlow {BODY} at (8,8) size 784x24 [color=#0000001A] LayoutText {#text} at (0,8) size 16x16 text run at (0,8) width 16: "a" LayoutRuby (inline) {RUBY} at (0,0) size 64x16
diff --git a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png index d357c7b..30e448f 100644 --- a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png +++ b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-expected.png b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-expected.png index f8ca0a50..4d1158a 100644 --- a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-expected.png +++ b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-expected.txt b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-expected.txt index 821a045..46324c9 100644 --- a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-expected.txt
@@ -5,11 +5,11 @@ LayoutBlockFlow {BODY} at (8,8) size 784x584 LayoutTable {TABLE} at (0,0) size 118x50 LayoutTableCol {COLGROUP} at (0,0) size 0x0 - LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #007F007F) none] + LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #007F0080) none] LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #FF0000)] LayoutTableSection {TBODY} at (0,0) size 118x50 LayoutTableRow {TR} at (0,0) size 118x25 - LayoutTableCell {TD} at (0,10) size 29x4 [border: none (2px solid #007F007F) none] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (0,10) size 29x4 [border: none (2px solid #007F0080) none] [r=0 c=0 rs=1 cs=1] LayoutTableCell {TD} at (29,11) size 30x2 [border: none (3px solid #FF0000)] [r=0 c=1 rs=1 cs=1] LayoutTableCell {TD} at (59,11) size 29x2 [border: none] [r=0 c=2 rs=1 cs=1] LayoutTableCell {TD} at (88,11) size 30x2 [border: none] [r=0 c=3 rs=1 cs=1] @@ -20,11 +20,11 @@ LayoutTableCell {TD} at (88,36) size 30x2 [border: none] [r=1 c=3 rs=1 cs=1] LayoutTable {TABLE} at (0,50) size 118x50 LayoutTableCol {COLGROUP} at (0,0) size 0x0 - LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #007F007F)] + LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #007F0080)] LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #FF0000) none] LayoutTableSection {TBODY} at (0,0) size 118x50 LayoutTableRow {TR} at (0,0) size 118x25 - LayoutTableCell {TD} at (88,10) size 30x4 [border: none (2px solid #007F007F)] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (88,10) size 30x4 [border: none (2px solid #007F0080)] [r=0 c=0 rs=1 cs=1] LayoutTableCell {TD} at (59,11) size 29x2 [border: none (2px solid #FF0000) none] [r=0 c=1 rs=1 cs=1] LayoutTableCell {TD} at (29,11) size 30x2 [border: none] [r=0 c=2 rs=1 cs=1] LayoutTableCell {TD} at (0,11) size 29x2 [border: none] [r=0 c=3 rs=1 cs=1] @@ -35,12 +35,12 @@ LayoutTableCell {TD} at (0,36) size 29x2 [border: none] [r=1 c=3 rs=1 cs=1] LayoutTable {TABLE} at (0,100) size 27x50 LayoutTableSection {TBODY} at (0,0) size 27x50 - LayoutTableRow {TR} at (0,0) size 27x25 [border: none (5px solid #007F007F) none] + LayoutTableRow {TR} at (0,0) size 27x25 [border: none (5px solid #007F0080) none] LayoutTableCell {TD} at (0,10) size 27x4 [border: none] [r=0 c=0 rs=1 cs=1] LayoutTableRow {TR} at (0,25) size 27x25 [border: (5px solid #FF0000) none] LayoutTableCell {TD} at (0,35) size 27x5 [border: (3px none #000000)] [r=1 c=0 rs=1 cs=1] LayoutTable {TABLE} at (0,150) size 27x50 - LayoutTableSection {TBODY} at (0,0) size 27x25 [border: none (5px solid #007F007F) none] + LayoutTableSection {TBODY} at (0,0) size 27x25 [border: none (5px solid #007F0080) none] LayoutTableRow {TR} at (0,0) size 27x25 LayoutTableCell {TD} at (0,10) size 27x4 [border: none] [r=0 c=0 rs=1 cs=1] LayoutTableSection {TBODY} at (0,25) size 27x25 [border: (5px solid #FF0000) none]
diff --git a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.png b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.png index adafdda..e0f8c74 100644 --- a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.png +++ b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt index cf066ec..b384ba0 100644 --- a/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt
@@ -6,11 +6,11 @@ LayoutBlockFlow {DIV} at (0,0) size 206x206 [border: (3px solid #000000)] LayoutTable {TABLE} at (3,3) size 50x118 LayoutTableCol {COLGROUP} at (0,0) size 0x0 - LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #007F007F) none] + LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #007F0080) none] LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: (5px solid #FF0000) none] LayoutTableSection {TBODY} at (0,0) size 50x118 LayoutTableRow {TR} at (0,0) size 25x118 - LayoutTableCell {TD} at (0,10) size 25x9 [border: none (2px solid #007F007F)] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (0,10) size 25x9 [border: none (2px solid #007F0080)] [r=0 c=0 rs=1 cs=1] LayoutTableCell {TD} at (0,40) size 25x7 [border: (3px solid #FF0000) none] [r=0 c=1 rs=1 cs=1] LayoutTableCell {TD} at (0,70) size 25x6 [border: none] [r=0 c=2 rs=1 cs=1] LayoutTableCell {TD} at (0,99) size 25x7 [border: (3px none #000000)] [r=0 c=3 rs=1 cs=1] @@ -21,11 +21,11 @@ LayoutTableCell {TD} at (25,99) size 25x7 [border: (3px none #000000)] [r=1 c=3 rs=1 cs=1] LayoutTable {TABLE} at (53,3) size 50x118 LayoutTableCol {COLGROUP} at (0,0) size 0x0 - LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: (5px solid #007F007F) none] + LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: (5px solid #007F0080) none] LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #FF0000) none] LayoutTableSection {TBODY} at (0,0) size 50x118 LayoutTableRow {TR} at (0,0) size 25x118 - LayoutTableCell {TD} at (0,98) size 25x10 [border: (3px solid #007F007F) none (3px solid #007F007F)] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (0,98) size 25x10 [border: (3px solid #007F0080) none (3px solid #007F0080)] [r=0 c=0 rs=1 cs=1] LayoutTableCell {TD} at (0,70) size 25x6 [border: none (2px solid #FF0000) none] [r=0 c=1 rs=1 cs=1] LayoutTableCell {TD} at (0,40) size 25x7 [border: (3px none #000000)] [r=0 c=2 rs=1 cs=1] LayoutTableCell {TD} at (0,11) size 25x6 [border: none] [r=0 c=3 rs=1 cs=1] @@ -36,12 +36,12 @@ LayoutTableCell {TD} at (25,11) size 25x6 [border: none] [r=1 c=3 rs=1 cs=1] LayoutTable {TABLE} at (103,3) size 50x27 LayoutTableSection {TBODY} at (0,0) size 50x27 - LayoutTableRow {TR} at (0,0) size 25x27 [border: none (5px solid #007F007F)] + LayoutTableRow {TR} at (0,0) size 25x27 [border: none (5px solid #007F0080)] LayoutTableCell {TD} at (0,10) size 25x7 [border: none] [r=0 c=0 rs=1 cs=1] LayoutTableRow {TR} at (25,0) size 25x27 [border: none (5px solid #FF0000) none] LayoutTableCell {TD} at (25,10) size 25x6 [border: none] [r=1 c=0 rs=1 cs=1] LayoutTable {TABLE} at (153,3) size 50x27 - LayoutTableSection {TBODY} at (0,0) size 25x27 [border: none (5px solid #007F007F)] + LayoutTableSection {TBODY} at (0,0) size 25x27 [border: none (5px solid #007F0080)] LayoutTableRow {TR} at (0,0) size 25x27 LayoutTableCell {TD} at (0,10) size 25x7 [border: none] [r=0 c=0 rs=1 cs=1] LayoutTableSection {TBODY} at (25,0) size 25x27 [border: none (5px solid #FF0000) none] @@ -50,11 +50,11 @@ LayoutBlockFlow {DIV} at (0,206) size 206x206 [border: (3px solid #000000)] LayoutTable {TABLE} at (3,3) size 50x118 LayoutTableCol {COLGROUP} at (0,0) size 0x0 - LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #007F007F) none] + LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #007F0080) none] LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: (5px solid #FF0000) none] LayoutTableSection {TBODY} at (0,0) size 50x118 LayoutTableRow {TR} at (0,0) size 25x118 - LayoutTableCell {TD} at (0,10) size 25x8 [border: none (2px solid #007F007F) none] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (0,10) size 25x8 [border: none (2px solid #007F0080) none] [r=0 c=0 rs=1 cs=1] LayoutTableCell {TD} at (0,40) size 25x7 [border: (3px solid #FF0000) none] [r=0 c=1 rs=1 cs=1] LayoutTableCell {TD} at (0,70) size 25x6 [border: none] [r=0 c=2 rs=1 cs=1] LayoutTableCell {TD} at (0,99) size 25x7 [border: (3px none #000000)] [r=0 c=3 rs=1 cs=1] @@ -65,11 +65,11 @@ LayoutTableCell {TD} at (25,99) size 25x7 [border: (3px none #000000)] [r=1 c=3 rs=1 cs=1] LayoutTable {TABLE} at (53,3) size 50x118 LayoutTableCol {COLGROUP} at (0,0) size 0x0 - LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: (5px solid #007F007F) none] + LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: (5px solid #007F0080) none] LayoutTableCol {COLGROUP} at (0,0) size 0x0 [border: none (5px solid #FF0000) none] LayoutTableSection {TBODY} at (0,0) size 50x118 LayoutTableRow {TR} at (0,0) size 25x118 - LayoutTableCell {TD} at (0,98) size 25x9 [border: (3px solid #007F007F) none] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (0,98) size 25x9 [border: (3px solid #007F0080) none] [r=0 c=0 rs=1 cs=1] LayoutTableCell {TD} at (0,70) size 25x6 [border: none (2px solid #FF0000) none] [r=0 c=1 rs=1 cs=1] LayoutTableCell {TD} at (0,40) size 25x7 [border: (3px none #000000)] [r=0 c=2 rs=1 cs=1] LayoutTableCell {TD} at (0,11) size 25x6 [border: none] [r=0 c=3 rs=1 cs=1] @@ -80,12 +80,12 @@ LayoutTableCell {TD} at (25,11) size 25x6 [border: none] [r=1 c=3 rs=1 cs=1] LayoutTable {TABLE} at (103,3) size 50x27 LayoutTableSection {TBODY} at (0,0) size 50x27 - LayoutTableRow {TR} at (0,0) size 25x27 [border: none (5px solid #007F007F) none] + LayoutTableRow {TR} at (0,0) size 25x27 [border: none (5px solid #007F0080) none] LayoutTableCell {TD} at (0,10) size 25x6 [border: none] [r=0 c=0 rs=1 cs=1] LayoutTableRow {TR} at (25,0) size 25x27 [border: none (5px solid #FF0000)] LayoutTableCell {TD} at (25,10) size 25x7 [border: none] [r=1 c=0 rs=1 cs=1] LayoutTable {TABLE} at (153,3) size 50x27 - LayoutTableSection {TBODY} at (0,0) size 25x27 [border: none (5px solid #007F007F) none] + LayoutTableSection {TBODY} at (0,0) size 25x27 [border: none (5px solid #007F0080) none] LayoutTableRow {TR} at (0,0) size 25x27 LayoutTableCell {TD} at (0,10) size 25x6 [border: none] [r=0 c=0 rs=1 cs=1] LayoutTableSection {TBODY} at (25,0) size 25x27 [border: none (5px solid #FF0000)]
diff --git a/third_party/WebKit/LayoutTests/fast/table/row-box-shadow-expected.png b/third_party/WebKit/LayoutTests/fast/table/row-box-shadow-expected.png index d728958..595de96 100644 --- a/third_party/WebKit/LayoutTests/fast/table/row-box-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/fast/table/row-box-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/table/row-box-shadow-expected.txt b/third_party/WebKit/LayoutTests/fast/table/row-box-shadow-expected.txt index d3391cada..3cdd7a9 100644 --- a/third_party/WebKit/LayoutTests/fast/table/row-box-shadow-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/table/row-box-shadow-expected.txt
@@ -6,11 +6,11 @@ LayoutTable {TABLE} at (0,0) size 234x346 LayoutTableSection {TBODY} at (0,0) size 234x346 LayoutTableRow {TR} at (0,10) size 234x102 [bgcolor=#0000FF] - LayoutTableCell {TD} at (10,60) size 102x2 [bgcolor=#FF00007F] [r=0 c=0 rs=1 cs=1] - LayoutTableCell {TD} at (122,60) size 102x2 [bgcolor=#FF00007F] [r=0 c=1 rs=1 cs=1] + LayoutTableCell {TD} at (10,60) size 102x2 [bgcolor=#FF000080] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (122,60) size 102x2 [bgcolor=#FF000080] [r=0 c=1 rs=1 cs=1] LayoutTableRow {TR} at (0,122) size 234x102 [bgcolor=#0000FF] - LayoutTableCell {TD} at (10,172) size 102x2 [bgcolor=#FF00007F] [r=1 c=0 rs=1 cs=1] - LayoutTableCell {TD} at (122,172) size 102x2 [bgcolor=#FF00007F] [r=1 c=1 rs=1 cs=1] + LayoutTableCell {TD} at (10,172) size 102x2 [bgcolor=#FF000080] [r=1 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (122,172) size 102x2 [bgcolor=#FF000080] [r=1 c=1 rs=1 cs=1] LayoutTableRow {TR} at (0,234) size 234x102 [bgcolor=#0000FF] - LayoutTableCell {TD} at (10,284) size 102x2 [bgcolor=#FF00007F] [r=2 c=0 rs=1 cs=1] - LayoutTableCell {TD} at (122,284) size 102x2 [bgcolor=#FF00007F] [r=2 c=1 rs=1 cs=1] + LayoutTableCell {TD} at (10,284) size 102x2 [bgcolor=#FF000080] [r=2 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (122,284) size 102x2 [bgcolor=#FF000080] [r=2 c=1 rs=1 cs=1]
diff --git a/third_party/WebKit/LayoutTests/fast/table/section-box-shadow-expected.png b/third_party/WebKit/LayoutTests/fast/table/section-box-shadow-expected.png index ae8da0d7..e0ffccc 100644 --- a/third_party/WebKit/LayoutTests/fast/table/section-box-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/fast/table/section-box-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/table/section-box-shadow-expected.txt b/third_party/WebKit/LayoutTests/fast/table/section-box-shadow-expected.txt index 5be9874c..9c9a7d7 100644 --- a/third_party/WebKit/LayoutTests/fast/table/section-box-shadow-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/table/section-box-shadow-expected.txt
@@ -5,16 +5,16 @@ LayoutBlockFlow {BODY} at (8,8) size 784x458 LayoutTable {TABLE} at (0,0) size 234x458 LayoutTableSection {THEAD} at (0,0) size 234x234 [bgcolor=#0000FF] - LayoutTableRow {TR} at (0,10) size 234x102 [bgcolor=#FF00007F] + LayoutTableRow {TR} at (0,10) size 234x102 [bgcolor=#FF000080] LayoutTableCell {TD} at (10,60) size 102x2 [r=0 c=0 rs=1 cs=1] LayoutTableCell {TD} at (122,60) size 102x2 [r=0 c=1 rs=1 cs=1] - LayoutTableRow {TR} at (0,122) size 234x102 [bgcolor=#FF00007F] + LayoutTableRow {TR} at (0,122) size 234x102 [bgcolor=#FF000080] LayoutTableCell {TD} at (10,172) size 102x2 [r=1 c=0 rs=1 cs=1] LayoutTableCell {TD} at (122,172) size 102x2 [r=1 c=1 rs=1 cs=1] LayoutTableSection {TBODY} at (0,234) size 234x224 [bgcolor=#0000FF] - LayoutTableRow {TR} at (0,0) size 234x102 [bgcolor=#FF00007F] + LayoutTableRow {TR} at (0,0) size 234x102 [bgcolor=#FF000080] LayoutTableCell {TD} at (10,50) size 102x2 [r=0 c=0 rs=1 cs=1] LayoutTableCell {TD} at (122,50) size 102x2 [r=0 c=1 rs=1 cs=1] - LayoutTableRow {TR} at (0,112) size 234x102 [bgcolor=#FF00007F] + LayoutTableRow {TR} at (0,112) size 234x102 [bgcolor=#FF000080] LayoutTableCell {TD} at (10,162) size 102x2 [r=1 c=0 rs=1 cs=1] LayoutTableCell {TD} at (122,162) size 102x2 [r=1 c=1 rs=1 cs=1]
diff --git a/third_party/WebKit/LayoutTests/fast/table/self-painting-row-box-shadow-expected.png b/third_party/WebKit/LayoutTests/fast/table/self-painting-row-box-shadow-expected.png index d728958..595de96 100644 --- a/third_party/WebKit/LayoutTests/fast/table/self-painting-row-box-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/fast/table/self-painting-row-box-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/table/self-painting-row-box-shadow-expected.txt b/third_party/WebKit/LayoutTests/fast/table/self-painting-row-box-shadow-expected.txt index ac3043a8..a5826eec 100644 --- a/third_party/WebKit/LayoutTests/fast/table/self-painting-row-box-shadow-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/table/self-painting-row-box-shadow-expected.txt
@@ -7,13 +7,13 @@ LayoutTableSection {TBODY} at (0,0) size 234x346 layer at (8,18) size 234x102 LayoutTableRow {TR} at (0,10) size 234x102 [bgcolor=#0000FF] - LayoutTableCell {TD} at (10,60) size 102x2 [bgcolor=#FF00007F] [r=0 c=0 rs=1 cs=1] - LayoutTableCell {TD} at (122,60) size 102x2 [bgcolor=#FF00007F] [r=0 c=1 rs=1 cs=1] + LayoutTableCell {TD} at (10,60) size 102x2 [bgcolor=#FF000080] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (122,60) size 102x2 [bgcolor=#FF000080] [r=0 c=1 rs=1 cs=1] layer at (8,130) size 234x102 LayoutTableRow {TR} at (0,122) size 234x102 [bgcolor=#0000FF] - LayoutTableCell {TD} at (10,172) size 102x2 [bgcolor=#FF00007F] [r=1 c=0 rs=1 cs=1] - LayoutTableCell {TD} at (122,172) size 102x2 [bgcolor=#FF00007F] [r=1 c=1 rs=1 cs=1] + LayoutTableCell {TD} at (10,172) size 102x2 [bgcolor=#FF000080] [r=1 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (122,172) size 102x2 [bgcolor=#FF000080] [r=1 c=1 rs=1 cs=1] layer at (8,242) size 234x102 LayoutTableRow {TR} at (0,234) size 234x102 [bgcolor=#0000FF] - LayoutTableCell {TD} at (10,284) size 102x2 [bgcolor=#FF00007F] [r=2 c=0 rs=1 cs=1] - LayoutTableCell {TD} at (122,284) size 102x2 [bgcolor=#FF00007F] [r=2 c=1 rs=1 cs=1] + LayoutTableCell {TD} at (10,284) size 102x2 [bgcolor=#FF000080] [r=2 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (122,284) size 102x2 [bgcolor=#FF000080] [r=2 c=1 rs=1 cs=1]
diff --git a/third_party/WebKit/LayoutTests/http/tests/fetch/resources/fetch-test-helpers.js b/third_party/WebKit/LayoutTests/http/tests/fetch/resources/fetch-test-helpers.js index fafa39d..a25c558 100644 --- a/third_party/WebKit/LayoutTests/http/tests/fetch/resources/fetch-test-helpers.js +++ b/third_party/WebKit/LayoutTests/http/tests/fetch/resources/fetch-test-helpers.js
@@ -152,68 +152,48 @@ } function testBlockMixedContent(mode) { - promise_test(function(t) { - return Promise.resolve() - .then(function() { - // Test 1: Must fail: blocked as mixed content. - return fetch(BASE_URL + 'test1-' + mode, {mode: mode}) - .then(t.unreached_func('Test 1: Must be blocked (' + - mode + ', HTTPS->HTTP)'), - function() {}); - }) - .then(function() { - // Block mixed content in redirects. - // Test 2: Must fail: original fetch is not blocked but - // redirect is blocked. - return fetch(HTTPS_REDIRECT_URL + - encodeURIComponent(BASE_URL + 'test2-' + mode), - {mode: mode}) - .then(t.unreached_func('Test 2: Must be blocked (' + - mode + ', HTTPS->HTTPS->HTTP)'), - function() {}); - }) - .then(function() { - // Test 3: Must fail: original fetch is blocked. - return fetch(REDIRECT_URL + - encodeURIComponent(HTTPS_BASE_URL + 'test3-' + mode), - {mode: mode}) - .then(t.unreached_func('Test 3: Must be blocked (' + - mode + ', HTTPS->HTTP->HTTPS)'), - function() {}); - }) - .then(function() { - // Test 4: Must success. - // Test that the mixed contents above are not rejected due to - return fetch(HTTPS_REDIRECT_URL + - encodeURIComponent(HTTPS_BASE_URL + 'test4-' + mode), - {mode: mode}) - .then(function(res) {assert_equals(res.status, mode == 'no-cors' ? 0 : 200); }, - t.unreached_func('Test 4: Must success (' + - mode + ', HTTPS->HTTPS->HTTPS)')); - }) - .then(function() { - // Test 5: Must success if mode is not 'same-origin'. - // Test that the mixed contents above are not rejected due to - // CORS check. - return fetch(HTTPS_OTHER_REDIRECT_URL + - encodeURIComponent(HTTPS_BASE_URL + 'test5-' + mode), - {mode: mode}) - .then(function(res) { - if (mode === 'same-origin') { - assert_unreached( - 'Test 5: Cross-origin HTTPS request must fail: ' + - 'mode = ' + mode); - } - }, - function() { - if (mode !== 'same-origin') { - assert_unreached( - 'Test 5: Cross-origin HTTPS request must success: ' + - 'mode = ' + mode); - } - }); + promise_test(t => { + // Must fail: blocked as mixed content. + return fetch(BASE_URL + 'test1-' + mode, {mode: mode}) + .then(unreached_fulfillment(t), () => {}); + }, `Mixed content fetch (${mode}, HTTPS->HTTP)`); + + promise_test(t => { + // Must fail: original fetch is not blocked but redirect is blocked. + return fetch(HTTPS_REDIRECT_URL + + encodeURIComponent(BASE_URL + 'test2-' + mode), {mode: mode}) + .then(unreached_fulfillment(t), () => {}); + }, `Mixed content redirect (${mode}, HTTPS->HTTPS->HTTP)`); + + promise_test(t => { + // Must fail: original fetch is blocked. + return fetch(REDIRECT_URL + + encodeURIComponent(HTTPS_BASE_URL + 'test3-' + mode), + {mode: mode}).then(unreached_fulfillment(t), () => {}); + }, `Mixed content redirect ${mode}, HTTPS->HTTP->HTTPS)`); + + promise_test(() => { + // Must success. + // Test that the mixed contents above are not rejected due to CORS check. + return fetch(HTTPS_REDIRECT_URL + + encodeURIComponent(HTTPS_BASE_URL + 'test4-' + mode), + {mode: mode}).then(res => { + assert_equals(res.status, mode === 'no-cors' ? 0 : 200); + }); + }, `Same origin redirect (${mode}, HTTPS->HTTPS->HTTPS)`); + + promise_test(() => { + // Must success if mode is not 'same-origin'. + // Test that the mixed contents above are not rejected due to CORS check. + return fetch(HTTPS_OTHER_REDIRECT_URL + + encodeURIComponent(HTTPS_BASE_URL + 'test5-' + mode), + {mode: mode}) + .then(res => { + assert_not_equals(mode, 'same-origin'); + }, () => { + assert_equals(mode, 'same-origin'); }); - }, 'Block fetch() as mixed content (' + mode + ')'); + }, `Cross origin redirect (${mode}, HTTPS->HTTPS->HTTPS`); } function add_referrer_tests(tests, global) {
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/network/waterfall-images-expected.png b/third_party/WebKit/LayoutTests/http/tests/inspector/network/waterfall-images-expected.png index 766fbf7d..55606014 100644 --- a/third_party/WebKit/LayoutTests/http/tests/inspector/network/waterfall-images-expected.png +++ b/third_party/WebKit/LayoutTests/http/tests/inspector/network/waterfall-images-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/html/browsers/origin/cross-origin-objects/cross-origin-objects-exceptions-expected.txt b/third_party/WebKit/LayoutTests/imported/wpt/html/browsers/origin/cross-origin-objects/cross-origin-objects-exceptions-expected.txt index 2712ad3..f2517de 100644 --- a/third_party/WebKit/LayoutTests/imported/wpt/html/browsers/origin/cross-origin-objects/cross-origin-objects-exceptions-expected.txt +++ b/third_party/WebKit/LayoutTests/imported/wpt/html/browsers/origin/cross-origin-objects/cross-origin-objects-exceptions-expected.txt
@@ -10,7 +10,7 @@ FAIL [[Delete]] Should throw on cross-origin objects assert_throws: Can't delete cross-origin indexed property function "function () { delete C[0]; }" did not throw FAIL [[DefineOwnProperty]] Should throw for cross-origin objects assert_throws: Can't define cross-origin value property length function "function () { Object.defineProperty(obj, prop, valueDesc); }" did not throw FAIL [[Enumerate]] should return an empty iterator assert_unreached: Shouldn't have been able to enumerate stop on cross-origin Window Reached unreachable code -FAIL [[OwnPropertyKeys]] should return all properties from cross-origin objects assert_array_equals: Object.getOwnPropertyNames() gives the right answer for cross-origin Window lengths differ, expected 874 got 13 +FAIL [[OwnPropertyKeys]] should return all properties from cross-origin objects assert_array_equals: Object.getOwnPropertyNames() gives the right answer for cross-origin Window lengths differ, expected 875 got 13 PASS A and B jointly observe the same identity for cross-origin Window and Location PASS Cross-origin functions get local Function.prototype FAIL Cross-origin Window accessors get local Function.prototype Cannot read property 'name' of undefined
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/css/css-get-background-colors-expected.txt b/third_party/WebKit/LayoutTests/inspector-protocol/css/css-get-background-colors-expected.txt index 83cd3146..93abefe1 100644 --- a/third_party/WebKit/LayoutTests/inspector-protocol/css/css-get-background-colors-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector-protocol/css/css-get-background-colors-expected.txt
@@ -42,11 +42,11 @@ Running test: testOneSemitransparentBgColor Semi-transparent background color: should be light red -{"backgroundColors":["rgb(255, 128, 128)"]} +{"backgroundColors":["rgb(255, 127, 127)"]} Running test: testTwoSemitransparentBgColors Two layered semi-transparent background colors: should be medium red -{"backgroundColors":["rgb(255, 64, 64)"]} +{"backgroundColors":["rgb(255, 63, 63)"]} Running test: testOpaqueGradientBackground Opaque gradient: should be red and black @@ -54,7 +54,7 @@ Running test: testOpaqueGradientBackgroundBehindScrim Opaque gradient behind semi-transparent color: should be light red and 50% grey -{"backgroundColors":["rgb(255, 127, 127)","rgb(127, 127, 127)"]} +{"backgroundColors":["rgb(255, 128, 128)","rgb(128, 128, 128)"]} Running test: testOpaqueGradientBackgroundWithColorBackground Opaque gradient and solid color background on same element: should be red and black @@ -62,11 +62,11 @@ Running test: testPartiallyTransparentGradientBackground Semi-transparent gradient: should be light red and 50% grey -{"backgroundColors":["rgb(255, 128, 128)","rgb(128, 128, 128)"]} +{"backgroundColors":["rgb(255, 127, 127)","rgb(127, 127, 127)"]} Running test: testPartiallyTransparentGradientAndColorBackground Semi-transparent gradient and solid color on same element: should be dark red and 50% grey -{"backgroundColors":["rgb(127, 0, 0)","rgb(127, 127, 127)"]} +{"backgroundColors":["rgb(128, 0, 0)","rgb(128, 128, 128)"]} Running test: testTwoPartiallyTransparentGradientBackgrounds Layered semi-transparent gradients: should be empty array @@ -94,7 +94,7 @@ Running test: testBackgroundImageBehindScrim Background image behind scrim: should be semi-transparent white -{"backgroundColors":["rgba(255, 255, 255, 0.498039)"]} +{"backgroundColors":["rgba(255, 255, 255, 0.5)"]} Running test: testForegroundImage Image behind text: should be empty array @@ -102,7 +102,7 @@ Running test: testForegroundImageBehindScrim Image behind scrim: should be semi-transparent white -{"backgroundColors":["rgba(255, 255, 255, 0.498039)"]} +{"backgroundColors":["rgba(255, 255, 255, 0.5)"]} Running test: testForegroundCanvas Canvas behind text: should be empty array
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/resources/heap-snapshot-common.js b/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/resources/heap-snapshot-common.js index d0ee0fa..8045e7172 100644 --- a/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/resources/heap-snapshot-common.js +++ b/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/resources/heap-snapshot-common.js
@@ -6,12 +6,12 @@ window.WebInspector = {}; self['Common'] = {}; -self['Profiler'] = {}; +self['HeapSnapshotModel'] = {}; self['HeapSnapshotWorker'] = {}; InspectorTest.importScript("../../../../../Source/devtools/front_end/platform/utilities.js"); InspectorTest.importScript("../../../../../Source/devtools/front_end/common/UIString.js"); -InspectorTest.importScript("../../../../../Source/devtools/front_end/profiler/HeapSnapshotCommon.js"); +InspectorTest.importScript("../../../../../Source/devtools/front_end/heap_snapshot_model/HeapSnapshotModel.js"); InspectorTest.importScript("../../../../../Source/devtools/front_end/heap_snapshot_worker/HeapSnapshot.js"); InspectorTest.importScript("../../../../../Source/devtools/front_end/common/TextUtils.js"); InspectorTest.importScript("../../../../../Source/devtools/front_end/heap_snapshot_worker/HeapSnapshotLoader.js");
diff --git a/third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter-expected.txt b/third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter-expected.txt index 6cd6bfd6..fd5acb3a 100644 --- a/third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter-expected.txt
@@ -1,9 +1,12 @@ -CONSOLE MESSAGE: line 15: [object Object] -CONSOLE MESSAGE: line 16: 1, +CONSOLE MESSAGE: line 25: [object Object] +CONSOLE MESSAGE: line 26: 1, +CONSOLE MESSAGE: line 27: [object Object] Tests that console logging dumps object values defined by getters and allows to expand it. -console-log-object-with-getter.html:15 Object {} -console-log-object-with-getter.html:16 [(...), undefined × 1] -console-log-object-with-getter.html:15 Objectfoo: Objecta: 1b: 2__proto__: Objectget foo: function ()set bar: function (x)__proto__: Object -console-log-object-with-getter.html:16 Array(2)0: 1length: 2get 0: function ()set 1: function (x)__proto__: Array(0) +console-log-object-with-getter.html:25 Object {} +console-log-object-with-getter.html:26 [(...), undefined × 1] +console-log-object-with-getter.html:27 Object {} +console-log-object-with-getter.html:25 Objectfoo: Objecta: 1b: 2__proto__: Objectget foo: function ()set bar: function (x)__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent expanded > name > object-properties-section-separator > object-value-object value > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children +console-log-object-with-getter.html:26 Array(2)0: 1length: 2get 0: function ()set 1: function (x)__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children +console-log-object-with-getter.html:27 Objecterror: [Exception: Error: myError]function: [Exception: function ()]number: [Exception: 123]string: [Exception: "myString"]get error: function error()get function: function function()get number: function number()get string: function string()__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > name > object-properties-section-separator > error value > object-value-error > children > name > object-properties-section-separator > error value > object-value-function > object-value-function-prefix > children > name > object-properties-section-separator > error value > object-value-number > children > name > object-properties-section-separator > error value > object-value-string > object-value-string-quote > object-value-string-quote > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children
diff --git a/third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter.html b/third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter.html index 4bc6d32f..aeb26bce 100644 --- a/third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter.html +++ b/third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter.html
@@ -4,16 +4,27 @@ <script src="../../http/tests/inspector/console-test.js"></script> <script> var obj = {} -Object.defineProperty(obj, 'foo', {enumerable: true, get: function() { return {a:1,b:2}; }}); -Object.defineProperty(obj, 'bar', {enumerable: false, set: function(x) { this.baz = x; }}); +Object.defineProperty(obj, "foo", {enumerable: true, get: function() { return {a:1,b:2}; }}); +Object.defineProperty(obj, "bar", {enumerable: false, set: function(x) { this.baz = x; }}); var arr = []; Object.defineProperty(arr, 0, {enumerable: true, get: function() { return 1; }}); Object.defineProperty(arr, 1, {enumerable: false, set: function(x) { this.baz = x; }}); + +var myError = new Error("myError"); +myError.stack = "custom stack"; +var objWithGetterExceptions = { + get error() { throw myError }, + get string() { throw "myString" }, + get number() { throw 123 }, + get function() { throw function() {} }, +}; + function logObject() { console.log(obj); console.log(arr); + console.log(objWithGetterExceptions); } function test() @@ -34,7 +45,7 @@ } function step5() { - InspectorTest.dumpConsoleMessages(); + InspectorTest.dumpConsoleMessages(false, true); InspectorTest.completeTest(); } }
diff --git a/third_party/WebKit/LayoutTests/inspector/console/console-object-preview-expected.txt b/third_party/WebKit/LayoutTests/inspector/console/console-object-preview-expected.txt index 1936479..8d823ceb 100644 --- a/third_party/WebKit/LayoutTests/inspector/console/console-object-preview-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector/console/console-object-preview-expected.txt
@@ -64,34 +64,34 @@ console-object-preview.html:88 Object {null: null, undef: undefined, regexp: /^[regexp]$/g, bool: false} console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element > selection fill > console-object-preview > name > object-value-null > name > object-value-undefined > name > object-value-regexp > name > object-value-boolean > children Expanded all messages console-object-preview.html:9 Mutating object in a loop console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:13 Objecta: 0b: 0c: 2__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children -console-object-preview.html:13 Objecta: 0b: 0c: 2__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children -console-object-preview.html:13 Objecta: 0b: 0c: 2__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children +console-object-preview.html:13 Objecta: 0b: 0c: 2__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children +console-object-preview.html:13 Objecta: 0b: 0c: 2__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children +console-object-preview.html:13 Objecta: 0b: 0c: 2__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children console-object-preview.html:16 Mutating array in a loop console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:20 Array(3)0: 01: 02: 2length: 3__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-array > children -console-object-preview.html:20 Array(3)0: 01: 02: 2length: 3__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-array > children -console-object-preview.html:20 Array(3)0: 01: 02: 2length: 3__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-array > children +console-object-preview.html:20 Array(3)0: 01: 02: 2length: 3__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children +console-object-preview.html:20 Array(3)0: 01: 02: 2length: 3__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children +console-object-preview.html:20 Array(3)0: 01: 02: 2length: 3__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children console-object-preview.html:23 Object with many properties console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:28 Objectproperty_0: 0property_1: 1property_2: 2property_3: 3property_4: 4property_5: 5property_6: 6property_7: 7property_8: 8property_9: 9__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children +console-object-preview.html:28 Objectproperty_0: 0property_1: 1property_2: 2property_3: 3property_4: 4property_5: 5property_6: 6property_7: 7property_8: 8property_9: 9__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children console-object-preview.html:30 Array with many properties console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:35 Array(2)0: 01: 1property_0: 0property_1: 1property_2: 2property_3: 3property_4: 4property_5: 5property_6: 6property_7: 7property_8: 8property_9: 9length: 2__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-array > children +console-object-preview.html:35 Array(2)0: 01: 1property_0: 0property_1: 1property_2: 2property_3: 3property_4: 4property_5: 5property_6: 6property_7: 7property_8: 8property_9: 9length: 2__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children console-object-preview.html:37 Array with gaps and overflow console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:42 Array(5733)[32 … 5675]5732: 100length: 5733__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent object-properties-section-name > selection fill > tree-element-title > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-array > children +console-object-preview.html:42 Array(5733)[32 … 5675]5732: 100length: 5733__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent object-properties-section-name > selection fill > tree-element-title > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children console-object-preview.html:44 Array with gaps without overflow console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:49 Array(5619)32: 089: 1146: 2203: 3260: 4317: 5374: 6431: 7488: 8545: 9602: 10659: 11716: 12773: 13830: 14887: 15944: 161001: 171058: 181115: 191172: 201229: 211286: 221343: 231400: 241457: 251514: 261571: 271628: 281685: 291742: 301799: 311856: 321913: 331970: 342027: 352084: 362141: 372198: 382255: 392312: 402369: 412426: 422483: 432540: 442597: 452654: 462711: 472768: 482825: 492882: 502939: 512996: 523053: 533110: 543167: 553224: 563281: 573338: 583395: 593452: 603509: 613566: 623623: 633680: 643737: 653794: 663851: 673908: 683965: 694022: 704079: 714136: 724193: 734250: 744307: 754364: 764421: 774478: 784535: 794592: 804649: 814706: 824763: 834820: 844877: 854934: 864991: 875048: 885105: 895162: 905219: 915276: 925333: 935390: 945447: 955504: 965561: 975618: 98length: 5619__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-array > children +console-object-preview.html:49 Array(5619)32: 089: 1146: 2203: 3260: 4317: 5374: 6431: 7488: 8545: 9602: 10659: 11716: 12773: 13830: 14887: 15944: 161001: 171058: 181115: 191172: 201229: 211286: 221343: 231400: 241457: 251514: 261571: 271628: 281685: 291742: 301799: 311856: 321913: 331970: 342027: 352084: 362141: 372198: 382255: 392312: 402369: 412426: 422483: 432540: 442597: 452654: 462711: 472768: 482825: 492882: 502939: 512996: 523053: 533110: 543167: 553224: 563281: 573338: 583395: 593452: 603509: 613566: 623623: 633680: 643737: 653794: 663851: 673908: 683965: 694022: 704079: 714136: 724193: 734250: 744307: 754364: 764421: 774478: 784535: 794592: 804649: 814706: 824763: 834820: 844877: 854934: 864991: 875048: 885105: 895162: 905219: 915276: 925333: 935390: 945447: 955504: 965561: 975618: 98length: 5619__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children console-object-preview.html:51 Object with proto console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:54 Objectd: 1__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children +console-object-preview.html:54 Objectd: 1__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children console-object-preview.html:56 Sparse array console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:59 Array(150)50: 50length: 150__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-array > children +console-object-preview.html:59 Array(150)50: 50length: 150__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children console-object-preview.html:61 Dense array with indexes and propeties console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:67 Array(150)[0 … 99][100 … 149]property_0: 0property_1: 1property_2: 2property_3: 3property_4: 4property_5: 5property_6: 6property_7: 7property_8: 8property_9: 9property_10: 10property_11: 11property_12: 12property_13: 13property_14: 14property_15: 15property_16: 16property_17: 17property_18: 18property_19: 19property_20: 20property_21: 21property_22: 22property_23: 23property_24: 24property_25: 25property_26: 26property_27: 27property_28: 28property_29: 29property_30: 30property_31: 31property_32: 32property_33: 33property_34: 34property_35: 35property_36: 36property_37: 37property_38: 38property_39: 39property_40: 40property_41: 41property_42: 42property_43: 43property_44: 44property_45: 45property_46: 46property_47: 47property_48: 48property_49: 49property_50: 50property_51: 51property_52: 52property_53: 53property_54: 54property_55: 55property_56: 56property_57: 57property_58: 58property_59: 59property_60: 60property_61: 61property_62: 62property_63: 63property_64: 64property_ console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent object-properties-section-name > selection fill > tree-element-title > children > parent object-properties-section-name > selection fill > tree-element-title > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-array > children +console-object-preview.html:67 Array(150)[0 … 99][100 … 149]property_0: 0property_1: 1property_2: 2property_3: 3property_4: 4property_5: 5property_6: 6property_7: 7property_8: 8property_9: 9property_10: 10property_11: 11property_12: 12property_13: 13property_14: 14property_15: 15property_16: 16property_17: 17property_18: 18property_19: 19property_20: 20property_21: 21property_22: 22property_23: 23property_24: 24property_25: 25property_26: 26property_27: 27property_28: 28property_29: 29property_30: 30property_31: 31property_32: 32property_33: 33property_34: 34property_35: 35property_36: 36property_37: 37property_38: 38property_39: 39property_40: 40property_41: 41property_42: 42property_43: 43property_44: 44property_45: 45property_46: 46property_47: 47property_48: 48property_49: 49property_50: 50property_51: 51property_52: 52property_53: 53property_54: 54property_55: 55property_56: 56property_57: 57property_58: 58property_59: 59property_60: 60property_61: 61property_62: 62property_63: 63property_64: 64property_ console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent object-properties-section-name > selection fill > tree-element-title > children > parent object-properties-section-name > selection fill > tree-element-title > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children console-object-preview.html:69 Object with properties containing whitespaces console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:76 Object"": """ ": " "" a b ": " a b ""a↵↵b↵c": "a↵↵b↵c"c d: "c d"__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-string > children > selection fill > name > object-properties-section-separator > value object-value-string > children > selection fill > name > object-properties-section-separator > value object-value-string > children > selection fill > name > object-properties-section-separator > value object-value-string > children > selection fill > name > object-properties-section-separator > value object-value-string > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children +console-object-preview.html:76 Object"": """ ": " "" a b ": " a b ""a↵↵b↵c": "a↵↵b↵c"c d: "c d"__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-string value > object-value-string-quote > object-value-string-quote > children > selection fill > name > object-properties-section-separator > object-value-string value > object-value-string-quote > object-value-string-quote > children > selection fill > name > object-properties-section-separator > object-value-string value > object-value-string-quote > object-value-string-quote > children > selection fill > name > object-properties-section-separator > object-value-string value > object-value-string-quote > object-value-string-quote > children > selection fill > name > object-properties-section-separator > object-value-string value > object-value-string-quote > object-value-string-quote > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children console-object-preview.html:78 Object with a document.all property console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:79 Objectall: HTMLAllCollection(7)__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > value object-value-array > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children +console-object-preview.html:79 Objectall: HTMLAllCollection(7)__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > object-value-array value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children console-object-preview.html:81 Object with special numbers console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:83 Objectnan: NaNnegInf: -InfinitynegZero: -0posInf: Infinity__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children +console-object-preview.html:83 Objectnan: NaNnegInf: -InfinitynegZero: -0posInf: Infinity__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children console-object-preview.html:85 Object with exactly 5 properties: expected to be lossless console-message > source-code > console-message-url devtools-link > console-message-text -console-object-preview.html:86 Objecta: 1b: 2c: 3d: 4e: 5__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > selection fill > name > object-properties-section-separator > value object-value-number > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children -console-object-preview.html:88 Objectbool: falsenull: nullregexp: /^[regexp]$/gundef: undefined__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > value object-value-boolean > children > selection fill > name > object-properties-section-separator > value object-value-null > children > parent > selection fill > name > object-properties-section-separator > value object-value-regexp > children > selection fill > name > object-properties-section-separator > value object-value-undefined > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > value object-value-object > children +console-object-preview.html:86 Objecta: 1b: 2c: 3d: 4e: 5__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children +console-object-preview.html:88 Objectbool: falsenull: nullregexp: /^[regexp]$/gundef: undefined__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > selection fill > name > object-properties-section-separator > object-value-boolean value > children > selection fill > name > object-properties-section-separator > object-value-null value > children > parent > selection fill > name > object-properties-section-separator > object-value-regexp value > children > selection fill > name > object-properties-section-separator > object-value-undefined value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children
diff --git a/third_party/WebKit/LayoutTests/inspector/console/console-proxy-expected.txt b/third_party/WebKit/LayoutTests/inspector/console/console-proxy-expected.txt index c9188063..0e8e9638 100644 --- a/third_party/WebKit/LayoutTests/inspector/console/console-proxy-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector/console/console-proxy-expected.txt
@@ -6,7 +6,7 @@ console-proxy.html:23 Proxy {boo: 42, foo: 43} console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element > selection fill > console-object-preview > name > object-value-number > name > object-value-number > children window.accessedGet = false info-note display: inline-block -console-proxy.html:21 Proxy[[Handler]]: Object[[Target]]: Object[[IsRevoked]]: false console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > value object-value-object > children > parent > selection fill > name > object-properties-section-separator > value object-value-object > children > selection fill > name > object-properties-section-separator > value object-value-boolean > children -console-proxy.html:23 Proxy[[Handler]]: Object[[Target]]: Proxy[[IsRevoked]]: false console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > value object-value-object > children > parent > selection fill > name > object-properties-section-separator > value object-value-proxy > children > selection fill > name > object-properties-section-separator > value object-value-boolean > children +console-proxy.html:21 Proxy[[Handler]]: Object[[Target]]: Object[[IsRevoked]]: false console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > object-value-object value > children > parent > selection fill > name > object-properties-section-separator > object-value-object value > children > selection fill > name > object-properties-section-separator > object-value-boolean value > children +console-proxy.html:23 Proxy[[Handler]]: Object[[Target]]: Proxy[[IsRevoked]]: false console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > object-value-object value > children > parent > selection fill > name > object-properties-section-separator > object-value-proxy value > children > selection fill > name > object-properties-section-separator > object-value-boolean value > children window.accessedGet = false
diff --git a/third_party/WebKit/LayoutTests/inspector/extensions/extensions-audits-content-script-expected.txt b/third_party/WebKit/LayoutTests/inspector/extensions/extensions-audits-content-script-expected.txt index 50809d5e..76e757e 100644 --- a/third_party/WebKit/LayoutTests/inspector/extensions/extensions-audits-content-script-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector/extensions/extensions-audits-content-script-expected.txt
@@ -9,7 +9,9 @@ main world object whereAmI : - "main world" + " + main world + " __proto__ : Object @@ -28,7 +30,9 @@ content script object whereAmI : - "brave new world" + " + brave new world + " __proto__ : Object
diff --git a/third_party/WebKit/LayoutTests/inspector/extensions/extensions-audits-expected.txt b/third_party/WebKit/LayoutTests/inspector/extensions/extensions-audits-expected.txt index 124b9053..fd4c4ae 100644 --- a/third_party/WebKit/LayoutTests/inspector/extensions/extensions-audits-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector/extensions/extensions-audits-expected.txt
@@ -27,7 +27,9 @@ 42 b : - "foo" + " + foo + " __proto__ : Object
diff --git a/third_party/WebKit/LayoutTests/inspector/tracing/timeline-js/timeline-js-line-level-profile-expected.txt b/third_party/WebKit/LayoutTests/inspector/tracing/timeline-js/timeline-js-line-level-profile-expected.txt index 6d5667c2..b35172c 100644 --- a/third_party/WebKit/LayoutTests/inspector/tracing/timeline-js/timeline-js-line-level-profile-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector/tracing/timeline-js/timeline-js-line-level-profile-expected.txt
@@ -1,10 +1,10 @@ Tests that a line-level CPU profile is shown in the text editor. .../inspector/tracing/resources/timeline-data.js -99 CodeMirror-gutter-performance 10.0 ms rgba(255, 187, 0, 0.262745) -101 CodeMirror-gutter-performance 1900.0 ms rgba(255, 187, 0, 0.717647) -0 CodeMirror-gutter-performance 100.0 ms rgba(255, 187, 0, 0.462745) -1 CodeMirror-gutter-performance 200.0 ms rgba(255, 187, 0, 0.521569) -2 CodeMirror-gutter-performance 300.0 ms rgba(255, 187, 0, 0.556863) -3 CodeMirror-gutter-performance 400.0 ms rgba(255, 187, 0, 0.580392) -54 CodeMirror-gutter-performance 220.0 ms rgba(255, 187, 0, 0.529412) +99 CodeMirror-gutter-performance 10.0 ms rgba(255, 187, 0, 0.263) +101 CodeMirror-gutter-performance 1900.0 ms rgba(255, 187, 0, 0.718) +0 CodeMirror-gutter-performance 100.0 ms rgba(255, 187, 0, 0.463) +1 CodeMirror-gutter-performance 200.0 ms rgba(255, 187, 0, 0.52) +2 CodeMirror-gutter-performance 300.0 ms rgba(255, 187, 0, 0.557) +3 CodeMirror-gutter-performance 400.0 ms rgba(255, 187, 0, 0.58) +54 CodeMirror-gutter-performance 220.0 ms rgba(255, 187, 0, 0.53)
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/composited-overflow-with-borderbox-background-expected.png b/third_party/WebKit/LayoutTests/paint/invalidation/composited-overflow-with-borderbox-background-expected.png index f015a70..ac8c39eb 100644 --- a/third_party/WebKit/LayoutTests/paint/invalidation/composited-overflow-with-borderbox-background-expected.png +++ b/third_party/WebKit/LayoutTests/paint/invalidation/composited-overflow-with-borderbox-background-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png index 8944bace..a3b305b 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png index 8b126a3..0486cac 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png index f6893a32..40a1fd92 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/images/direct-image-background-color-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/images/direct-image-background-color-expected.png index d10343b..41f5e1a3 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/images/direct-image-background-color-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/images/direct-image-background-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/images/direct-image-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/compositing/images/direct-image-background-color-expected.txt index eff1c6c..0b6a7c2 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/images/direct-image-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/images/direct-image-background-color-expected.txt
@@ -3,9 +3,9 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x564 - LayoutImage {IMG} at (20,0) size 280x200 [bgcolor=#0000807F] + LayoutImage {IMG} at (20,0) size 280x200 [bgcolor=#00008080] LayoutBlockFlow {P} at (0,440) size 784x20 LayoutText {#text} at (0,0) size 232x19 text run at (0,0) width 232: "Top and bottom should look the same." layer at (28,240) size 280x200 - LayoutImage {IMG} at (20,220) size 280x200 [bgcolor=#0000807F] + LayoutImage {IMG} at (20,220) size 280x200 [bgcolor=#00008080]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png index 5d65525..12c871cc 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png index c0e8bab..d6a82ec 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/shadows/shadow-drawing-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/shadows/shadow-drawing-expected.png index 1b746c7..3fe242a 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/shadows/shadow-drawing-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/shadows/shadow-drawing-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/webgl/webgl-background-color-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/webgl/webgl-background-color-expected.png index 9c9f5c1..7c4a008 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/webgl/webgl-background-color-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/webgl/webgl-background-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/webgl/webgl-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/compositing/webgl/webgl-background-color-expected.txt index e9c96fb..514b71b6 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/webgl/webgl-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/webgl/webgl-background-color-expected.txt
@@ -3,11 +3,11 @@ layer at (0,0) size 800x537 LayoutBlockFlow {HTML} at (0,0) size 800x537 LayoutBlockFlow {BODY} at (8,20) size 784x501 - LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#0000807F] + LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#00008080] LayoutBlockFlow (anonymous) at (0,220) size 784x245 LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {P} at (0,481) size 784x20 LayoutText {#text} at (0,0) size 232x19 text run at (0,0) width 232: "Top and bottom should look the same." layer at (28,260) size 240x200 - LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#0000807F] + LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#00008080]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-expected.png index 66f9c36f..3ebfacf 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-expected.txt index 8ff4ac36..d5bf741 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-expected.txt
@@ -16,16 +16,16 @@ LayoutBlockFlow {DIV} at (414,12) size 110x100 [bgcolor=#000000] [border: (20px solid #FFFFFF) (20px double #FFFFFF) (20px solid #FFFFFF)] LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {DIV} at (0,129) size 784x129 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (132,107) size 4x19 text run at (132,107) width 4: " " - LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (266,107) size 4x19 text run at (266,107) width 4: " " LayoutBlockFlow {DIV} at (280,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px groove #808080)] LayoutText {#text} at (400,107) size 4x19 text run at (400,107) width 4: " " - LayoutBlockFlow {DIV} at (414,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F) (20px double #0000FF7F) (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (414,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80) (20px double #0000FF80) (20px solid #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {DIV} at (0,258) size 784x129 LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#000000] [border: (20px solid #FFFFFF)]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-transforms-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-transforms-expected.png index fef606d3..d598b404 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-transforms-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-transforms-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-transforms-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-transforms-expected.txt index 8a78c03..630387fe 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-transforms-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/background-leakage-transforms-expected.txt
@@ -13,10 +13,10 @@ LayoutText {#text} at (288,117) size 4x19 text run at (288,117) width 4: " " LayoutBlockFlow {DIV} at (302,10) size 268x129 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (132,107) size 4x19 text run at (132,107) width 4: " " - LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0 layer at (8,157) size 769x149 @@ -30,10 +30,10 @@ LayoutText {#text} at (288,117) size 4x19 text run at (288,117) width 4: " " LayoutBlockFlow {DIV} at (302,10) size 268x129 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (132,107) size 4x19 text run at (132,107) width 4: " " - LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0 layer at (8,306) size 159x540 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 @@ -47,9 +47,9 @@ LayoutText {#text} at (12,268) size 19x4 text run at (12,268) width 4: " " LayoutBlockFlow {DIV} at (10,282) size 139x248 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (16,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (16,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (2,122) size 19x4 text run at (2,122) width 4: " " - LayoutBlockFlow {DIV} at (16,136) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (16,136) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/intruding-painted-twice-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/intruding-painted-twice-expected.png index bd41080..97c13211e 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/intruding-painted-twice-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/intruding-painted-twice-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/intruding-painted-twice-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/intruding-painted-twice-expected.txt index e2a154b..56e5a716 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/intruding-painted-twice-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/intruding-painted-twice-expected.txt
@@ -19,10 +19,10 @@ LayoutBlockFlow {P} at (0,56) size 784x20 LayoutText {#text} at (0,0) size 342x19 text run at (0,0) width 342: "These two lines of text should be the same shade of gray:" - LayoutBlockFlow {DIV} at (0,92) size 784x28 [color=#0000007F] + LayoutBlockFlow {DIV} at (0,92) size 784x28 [color=#00000080] LayoutText {#text} at (0,0) size 264x27 text run at (0,0) width 264: "Lorem ipsum dolor sit amet" - LayoutBlockFlow {DIV} at (0,120) size 784x0 [color=#0000007F] + LayoutBlockFlow {DIV} at (0,120) size 784x0 [color=#00000080] LayoutBlockFlow (floating) {DIV} at (0,0) size 264x28 LayoutText {#text} at (0,0) size 264x27 text run at (0,0) width 264: "Lorem ipsum dolor sit amet"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-mixed-alpha-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-mixed-alpha-expected.png index ca74ab2..4b9701ea 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-mixed-alpha-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-mixed-alpha-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-mixed-alpha2-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-mixed-alpha2-expected.png index 23410a4d..3fe1f68f 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-mixed-alpha2-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-mixed-alpha2-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-expected.png index 9c4d15d..944470e8 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-expected.txt index d4a1faa..c1fb53a 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-expected.txt
@@ -3,40 +3,40 @@ layer at (0,0) size 800x541 LayoutBlockFlow {HTML} at (0,0) size 800x541 LayoutBlockFlow {BODY} at (8,8) size 784x525 - LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (170,155) size 4x19 text run at (170,155) width 4: " " - LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (344,155) size 4x19 text run at (344,155) width 4: " " - LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (518,155) size 4x19 text run at (518,155) width 4: " " - LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (692,155) size 4x19 text run at (692,155) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,185) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,185) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (170,330) size 4x19 text run at (170,330) width 4: " " - LayoutBlockFlow {DIV} at (184,185) size 150x150 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,185) size 150x150 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (344,330) size 4x19 text run at (344,330) width 4: " " - LayoutBlockFlow {DIV} at (358,185) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,185) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (518,330) size 4x19 text run at (518,330) width 4: " " - LayoutBlockFlow {DIV} at (532,185) size 150x150 [border: (50px solid #0000007F) none (50px groove #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,185) size 150x150 [border: (50px solid #00000080) none (50px groove #00000080) (50px solid #00000080)] LayoutText {#text} at (692,330) size 4x19 text run at (692,330) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,360) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,360) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (170,505) size 4x19 text run at (170,505) width 4: " " - LayoutBlockFlow {DIV} at (184,360) size 150x150 [border: (50px solid #0000007F) none (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,360) size 150x150 [border: (50px solid #00000080) none (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (344,505) size 4x19 text run at (344,505) width 4: " " - LayoutBlockFlow {DIV} at (358,360) size 150x150 [border: (50px solid #0000007F) (50px solid #0080007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,360) size 150x150 [border: (50px solid #00000080) (50px solid #00800080) (50px solid #00000080)] LayoutText {#text} at (518,505) size 4x19 text run at (518,505) width 4: " " - LayoutBlockFlow {DIV} at (532,360) size 150x150 [border: (50px solid #0000007F) (50px solid #0080007F) (50px solid #0000007F) (50px solid #0080007F)] + LayoutBlockFlow {DIV} at (532,360) size 150x150 [border: (50px solid #00000080) (50px solid #00800080) (50px solid #00000080) (50px solid #00800080)] LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius-expected.png index 58aae45..6290934 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius-expected.txt index 819efa7..1494de8 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius-expected.txt
@@ -3,40 +3,40 @@ layer at (0,0) size 800x493 LayoutBlockFlow {HTML} at (0,0) size 800x493 LayoutBlockFlow {BODY} at (8,8) size 784x477 - LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (170,155) size 4x19 text run at (170,155) width 4: " " - LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (344,155) size 4x19 text run at (344,155) width 4: " " - LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (518,155) size 4x19 text run at (518,155) width 4: " " - LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (692,155) size 4x19 text run at (692,155) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,185) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,185) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (170,330) size 4x19 text run at (170,330) width 4: " " - LayoutBlockFlow {DIV} at (184,185) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,185) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (344,330) size 4x19 text run at (344,330) width 4: " " - LayoutBlockFlow {DIV} at (358,185) size 150x150 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,185) size 150x150 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (518,330) size 4x19 text run at (518,330) width 4: " " - LayoutBlockFlow {DIV} at (532,185) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,185) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (692,330) size 4x19 text run at (692,330) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,360) size 150x102 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,360) size 150x102 [border: (50px solid #00000080)] LayoutText {#text} at (170,457) size 4x19 text run at (170,457) width 4: " " - LayoutBlockFlow {DIV} at (184,360) size 150x102 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,360) size 150x102 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (344,457) size 4x19 text run at (344,457) width 4: " " - LayoutBlockFlow {DIV} at (358,360) size 150x102 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,360) size 150x102 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (518,457) size 4x19 text run at (518,457) width 4: " " - LayoutBlockFlow {DIV} at (532,360) size 150x102 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,360) size 150x102 [border: (50px solid #00000080)] LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius2-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius2-expected.png index e116fba..9ff4241 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius2-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius2-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius2-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius2-expected.txt index f57008c..ceb0709 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius2-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/mixed-border-styles-radius2-expected.txt
@@ -3,25 +3,25 @@ layer at (0,0) size 800x406 LayoutBlockFlow {HTML} at (0,0) size 800x406 LayoutBlockFlow {BODY} at (8,8) size 784x390 - LayoutBlockFlow {DIV} at (20,20) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (20,20) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (190,175) size 4x19 text run at (190,175) width 4: " " - LayoutBlockFlow {DIV} at (214,20) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (214,20) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (384,175) size 4x19 text run at (384,175) width 4: " " - LayoutBlockFlow {DIV} at (408,20) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (408,20) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (578,175) size 4x19 text run at (578,175) width 4: " " - LayoutBlockFlow {DIV} at (602,20) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (602,20) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (20,215) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (20,215) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (190,370) size 4x19 text run at (190,370) width 4: " " - LayoutBlockFlow {DIV} at (214,215) size 150x150 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (214,215) size 150x150 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (384,370) size 4x19 text run at (384,370) width 4: " " - LayoutBlockFlow {DIV} at (408,215) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (408,215) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (578,370) size 4x19 text run at (578,370) width 4: " " - LayoutBlockFlow {DIV} at (602,215) size 150x150 [border: (50px solid #0000007F) none (50px groove #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (602,215) size 150x150 [border: (50px solid #00000080) none (50px groove #00000080) (50px solid #00000080)] LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/outline-alpha-block-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/outline-alpha-block-expected.png index 005b37b..9c8ff8b0 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/outline-alpha-block-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/outline-alpha-block-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/outline-alpha-inline-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/outline-alpha-inline-expected.png index 3d335b4a..ab365f98 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/outline-alpha-inline-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/outline-alpha-inline-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/basic-shadows-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/basic-shadows-expected.png index b1663c8..ac8dd09 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/basic-shadows-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/basic-shadows-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/inset-box-shadow-radius-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/inset-box-shadow-radius-expected.png index 4beed5fa..4a2386b 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/inset-box-shadow-radius-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/inset-box-shadow-radius-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/inset-box-shadow-radius-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/inset-box-shadow-radius-expected.txt index b081174..d9d3472 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/inset-box-shadow-radius-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/box-shadow/inset-box-shadow-radius-expected.txt
@@ -20,18 +20,18 @@ LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0 layer at (12,12) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (12,12) size 280x280 [border: (10px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (12,12) size 280x280 [border: (10px solid #00FF000D)] layer at (12,12) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280 layer at (304,12) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (304,12) size 280x280 [border: (20px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (304,12) size 280x280 [border: (20px solid #00FF000D)] layer at (304,12) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280 layer at (12,301) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (12,301) size 280x280 [border: (50px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (12,301) size 280x280 [border: (50px solid #00FF000D)] layer at (12,301) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280 layer at (304,301) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (304,301) size 280x280 [border: (90px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (304,301) size 280x280 [border: (90px solid #00FF000D)] layer at (304,301) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/canvas-composite-video-expected.png index de99d9c4..6799b25 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/canvas-composite-video-shadow-expected.png index db221ee..178d303 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/toDataURL-alpha-stability-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/toDataURL-alpha-stability-expected.png index ad82edc..99872cb 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/toDataURL-alpha-stability-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/canvas/toDataURL-alpha-stability-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/css/percentage-non-integer-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/css/percentage-non-integer-expected.png index d41d9ed..3afa918 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/css/percentage-non-integer-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/css/percentage-non-integer-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/css/percentage-non-integer-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/css/percentage-non-integer-expected.txt index b82842a0..1ee785f 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/css/percentage-non-integer-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/css/percentage-non-integer-expected.txt
@@ -5,55 +5,55 @@ LayoutBlockFlow {BODY} at (8,8) size 784x584 LayoutBlockFlow {DIV} at (0,0) size 100x100 [bgcolor=#00FF00] LayoutBlockFlow {DIV} at (0,0) size 100x4 - LayoutBlockFlow {DIV} at (0,0) size 100x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,4) size 1005x4 - LayoutBlockFlow {DIV} at (0,0) size 100.50x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.50x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,8) size 995x4 - LayoutBlockFlow {DIV} at (0,0) size 100.48x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.48x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,12) size 985x4 - LayoutBlockFlow {DIV} at (0,0) size 100.47x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.47x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,16) size 975x4 - LayoutBlockFlow {DIV} at (0,0) size 100.42x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.42x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,20) size 965x4 - LayoutBlockFlow {DIV} at (0,0) size 100.36x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.36x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,24) size 955x4 - LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,28) size 945x4 - LayoutBlockFlow {DIV} at (0,0) size 100.16x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.16x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,32) size 935x4 - LayoutBlockFlow {DIV} at (0,0) size 100.03x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.03x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,36) size 930x4 - LayoutBlockFlow {DIV} at (0,0) size 100.44x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.44x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,40) size 920x4 - LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,44) size 910x4 - LayoutBlockFlow {DIV} at (0,0) size 100.09x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.09x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,48) size 910x4 - LayoutBlockFlow {DIV} at (0,0) size 101x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 101x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,52) size 900x4 - LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,56) size 890x4 - LayoutBlockFlow {DIV} at (0,0) size 100.56x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.56x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,60) size 885x4 - LayoutBlockFlow {DIV} at (0,0) size 100.88x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.88x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,64) size 875x4 - LayoutBlockFlow {DIV} at (0,0) size 100.63x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.63x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,68) size 870x4 - LayoutBlockFlow {DIV} at (0,0) size 100.91x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.91x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,72) size 860x4 - LayoutBlockFlow {DIV} at (0,0) size 100.61x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.61x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,76) size 850x4 - LayoutBlockFlow {DIV} at (0,0) size 100.30x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.30x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,80) size 845x4 - LayoutBlockFlow {DIV} at (0,0) size 100.55x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.55x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,84) size 840x4 - LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,88) size 835x4 - LayoutBlockFlow {DIV} at (0,0) size 101.03x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 101.03x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,92) size 825x4 - LayoutBlockFlow {DIV} at (0,0) size 100.64x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.64x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,96) size 815x4 - LayoutBlockFlow {DIV} at (0,0) size 100.23x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.23x4 [bgcolor=#00000080] LayoutBlockFlow (anonymous) at (0,100) size 784x20 LayoutBR {BR} at (0,0) size 0x19 layer at (8,128) size 784x0 @@ -86,59 +86,59 @@ LayoutTable (positioned) {TABLE} at (0,0) size 1000x20 LayoutTableSection {TBODY} at (0,0) size 1000x20 LayoutTableRow {TR} at (0,0) size 1000x20 - LayoutTableCell {TD} at (0,0) size 12x20 [bgcolor=#0000007F] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (0,0) size 12x20 [bgcolor=#00000080] [r=0 c=0 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (12,0) size 10x20 [bgcolor=#00FF007F] [r=0 c=1 rs=1 cs=1] + LayoutTableCell {TD} at (12,0) size 10x20 [bgcolor=#00FF0080] [r=0 c=1 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (22,0) size 14x20 [bgcolor=#0000007F] [r=0 c=2 rs=1 cs=1] + LayoutTableCell {TD} at (22,0) size 14x20 [bgcolor=#00000080] [r=0 c=2 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (36,0) size 10x20 [bgcolor=#00FF007F] [r=0 c=3 rs=1 cs=1] + LayoutTableCell {TD} at (36,0) size 10x20 [bgcolor=#00FF0080] [r=0 c=3 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (46,0) size 16x20 [bgcolor=#0000007F] [r=0 c=4 rs=1 cs=1] + LayoutTableCell {TD} at (46,0) size 16x20 [bgcolor=#00000080] [r=0 c=4 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (62,0) size 10x20 [bgcolor=#00FF007F] [r=0 c=5 rs=1 cs=1] + LayoutTableCell {TD} at (62,0) size 10x20 [bgcolor=#00FF0080] [r=0 c=5 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (72,0) size 18x20 [bgcolor=#0000007F] [r=0 c=6 rs=1 cs=1] + LayoutTableCell {TD} at (72,0) size 18x20 [bgcolor=#00000080] [r=0 c=6 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (90,0) size 10x20 [bgcolor=#00FF007F] [r=0 c=7 rs=1 cs=1] + LayoutTableCell {TD} at (90,0) size 10x20 [bgcolor=#00FF0080] [r=0 c=7 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (100,0) size 20x20 [bgcolor=#0000007F] [r=0 c=8 rs=1 cs=1] + LayoutTableCell {TD} at (100,0) size 20x20 [bgcolor=#00000080] [r=0 c=8 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (120,0) size 10x20 [bgcolor=#00FF007F] [r=0 c=9 rs=1 cs=1] + LayoutTableCell {TD} at (120,0) size 10x20 [bgcolor=#00FF0080] [r=0 c=9 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (130,0) size 22x20 [bgcolor=#0000007F] [r=0 c=10 rs=1 cs=1] + LayoutTableCell {TD} at (130,0) size 22x20 [bgcolor=#00000080] [r=0 c=10 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (152,0) size 10x20 [bgcolor=#00FF007F] [r=0 c=11 rs=1 cs=1] + LayoutTableCell {TD} at (152,0) size 10x20 [bgcolor=#00FF0080] [r=0 c=11 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (162,0) size 24x20 [bgcolor=#0000007F] [r=0 c=12 rs=1 cs=1] + LayoutTableCell {TD} at (162,0) size 24x20 [bgcolor=#00000080] [r=0 c=12 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (186,10) size 10x0 [bgcolor=#00FF007F] [r=0 c=13 rs=1 cs=1] - LayoutTableCell {TD} at (196,0) size 26x20 [bgcolor=#0000007F] [r=0 c=14 rs=1 cs=1] + LayoutTableCell {TD} at (186,10) size 10x0 [bgcolor=#00FF0080] [r=0 c=13 rs=1 cs=1] + LayoutTableCell {TD} at (196,0) size 26x20 [bgcolor=#00000080] [r=0 c=14 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (222,0) size 10x20 [bgcolor=#00FF007F] [r=0 c=15 rs=1 cs=1] + LayoutTableCell {TD} at (222,0) size 10x20 [bgcolor=#00FF0080] [r=0 c=15 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (232,0) size 28x20 [bgcolor=#0000007F] [r=0 c=16 rs=1 cs=1] + LayoutTableCell {TD} at (232,0) size 28x20 [bgcolor=#00000080] [r=0 c=16 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (260,0) size 10x20 [bgcolor=#00FF007F] [r=0 c=17 rs=1 cs=1] + LayoutTableCell {TD} at (260,0) size 10x20 [bgcolor=#00FF0080] [r=0 c=17 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (270,0) size 30x20 [bgcolor=#0000007F] [r=0 c=18 rs=1 cs=1] + LayoutTableCell {TD} at (270,0) size 30x20 [bgcolor=#00000080] [r=0 c=18 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x19 text run at (0,0) width 4: " " LayoutTableCell {TD} at (300,0) size 700x20 [r=0 c=19 rs=1 cs=1]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/css/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/css/shadow-multiple-expected.png index 97daef0..95ba5556 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/css/shadow-multiple-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/css/shadow-multiple-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/css/shadow-multiple-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/css/shadow-multiple-expected.txt index 825599a..91e01217 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/css/shadow-multiple-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/css/shadow-multiple-expected.txt
@@ -14,7 +14,7 @@ text run at (102,1) width 77: "text" LayoutText {#text} at (179,1) size 12x55 text run at (179,1) width 12: " " - LayoutInline {SPAN} at (0,0) size 99x55 [color=#0000004C] + LayoutInline {SPAN} at (0,0) size 99x55 [color=#0000004D] LayoutText {#text} at (191,1) size 99x55 text run at (191,1) width 99: "casts" LayoutText {#text} at (290,1) size 12x55
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/dom/HTMLMeterElement/meter-styles-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/dom/HTMLMeterElement/meter-styles-expected.png index 54713e80..ce77b5682 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/dom/HTMLMeterElement/meter-styles-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/dom/HTMLMeterElement/meter-styles-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png index ddef88c5..c6b9d0a 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-expected.png index fe331b0..41808bf 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png index c1c3b008..ec59c31 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png index 710c121b..aa06890 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png index 2a067b4..096c7cf 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png index 7042aaa..510903fe 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png index 6d436b647..babf5d0 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png index c5afb5c6..799c2d35 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png index 6318076a..b071110b 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-expected.png index a951805c..9507c06 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-step-expected.png index eae7967..8467fb0 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-expected.png index 816d04a..c4356100 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-step-expected.png index e460c462..5adbea2 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/checkbox/checkbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/checkbox/checkbox-appearance-basic-expected.png index 727e2d1..d8156218 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/checkbox/checkbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/checkbox/checkbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png index 4d5c54e03..9113d67 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png index 451b241..ecd041bc 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png index 9d59d9ac..7815f20b 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png index 45f0276f..008a562 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/radio/radio-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/radio/radio-appearance-basic-expected.png index 90d14bd8..61368e8 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/radio/radio-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/radio/radio-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/range/range-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/range/range-appearance-basic-expected.png index 0436896e3..bdf19bf 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/range/range-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/range/range-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/search/search-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/search/search-appearance-basic-expected.png index 8b1ec67..7c8b0ff0 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/search/search-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/search/search-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/listbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/listbox-appearance-basic-expected.png index 52c6940..6acda92 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/listbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/listbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.png index a700e7b..07b518f 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/submit/submit-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/submit/submit-appearance-basic-expected.png index bf9fded..c220d51 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/submit/submit-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/submit/submit-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/text/text-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/text/text-appearance-basic-expected.png index 386e36b..71c7c53 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/text/text-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/text/text-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/textarea/textarea-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/textarea/textarea-appearance-basic-expected.png index ec72d3c..98675b3 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/textarea/textarea-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/textarea/textarea-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/gradients/gradient-after-transparent-border-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/gradients/gradient-after-transparent-border-expected.png index 9258fe1..dacbaf79 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/gradients/gradient-after-transparent-border-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/gradients/gradient-after-transparent-border-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/overflow/float-in-relpositioned-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/overflow/float-in-relpositioned-expected.png index 385b6de..5220165e5 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/overflow/float-in-relpositioned-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/overflow/float-in-relpositioned-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/overflow/float-in-relpositioned-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/overflow/float-in-relpositioned-expected.txt index da607ae..6de5da0 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/overflow/float-in-relpositioned-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/overflow/float-in-relpositioned-expected.txt
@@ -29,15 +29,15 @@ LayoutBlockFlow {DIV} at (10,408) size 102x102 [border: (1px solid #000000)] layer at (69,81) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] - LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80] layer at (19,243) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] - LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80] layer at (69,305) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] layer at (69,305) size 75x75 backgroundClip at (19,305) size 100x85 clip at (19,305) size 100x85 - LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80] layer at (19,467) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] layer at (19,467) size 75x75 backgroundClip at (19,417) size 85x100 clip at (19,417) size 85x100 - LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/border-radius-clip-content-edge-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/border-radius-clip-content-edge-expected.png index 2c98dfdc..0c9cc76 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/border-radius-clip-content-edge-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/border-radius-clip-content-edge-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-no-blur-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-no-blur-expected.png index ec6947cf8..b42c864 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-no-blur-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-no-blur-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-no-blur-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-no-blur-expected.txt index 27912d4..ca1b37c 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-no-blur-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-no-blur-expected.txt
@@ -3,7 +3,7 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {DIV} at (0,0) size 784x285 [color=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 784x285 [color=#00000080] LayoutBlockFlow {DIV} at (0,0) size 784x57 LayoutText {#text} at (0,1) size 241x55 text run at (0,1) width 241: "Text shadow"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-translucent-fill-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-translucent-fill-expected.png index c557021..35c2db4b 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-translucent-fill-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-translucent-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-translucent-fill-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-translucent-fill-expected.txt index 5b82c83..c7702f8d 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-translucent-fill-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/shadow-translucent-fill-expected.txt
@@ -15,7 +15,7 @@ text run at (48,0) width 24: "A" LayoutText {#text} at (72,0) size 24x24 text run at (72,0) width 24: " " - LayoutInline {SPAN} at (0,0) size 24x24 [color=#00000019] + LayoutInline {SPAN} at (0,0) size 24x24 [color=#0000001A] LayoutText {#text} at (96,0) size 24x24 text run at (96,0) width 24: "A" LayoutText {#text} at (0,0) size 0x0 @@ -30,7 +30,7 @@ text run at (48,0) width 24: "A" LayoutText {#text} at (72,0) size 24x24 text run at (72,0) width 24: " " - LayoutInline {SPAN} at (0,0) size 24x24 [color=#00000019] + LayoutInline {SPAN} at (0,0) size 24x24 [color=#0000001A] LayoutText {#text} at (96,0) size 24x24 text run at (96,0) width 24: "A" LayoutText {#text} at (0,0) size 0x0 @@ -45,7 +45,7 @@ text run at (48,0) width 24: "A" LayoutText {#text} at (72,0) size 24x24 text run at (72,0) width 24: " " - LayoutInline {SPAN} at (0,0) size 24x24 [color=#00000019] + LayoutInline {SPAN} at (0,0) size 24x24 [color=#0000001A] LayoutText {#text} at (96,0) size 24x24 text run at (96,0) width 24: "A" LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/svg/filters/feBlend-all-modes-expected.png b/third_party/WebKit/LayoutTests/platform/linux/svg/filters/feBlend-all-modes-expected.png index 5fd6e013..6dbca7ae 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/svg/filters/feBlend-all-modes-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/svg/filters/feBlend-all-modes-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/svg/filters/feBlend-all-modes-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/svg/filters/feBlend-all-modes-expected.txt index 3e68b009..07426239 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/svg/filters/feBlend-all-modes-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/svg/filters/feBlend-all-modes-expected.txt
@@ -233,112 +233,112 @@ LayoutSVGRoot {svg} at (0,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_normal"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="normal"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_normal"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (50,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_multiply"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="multiply"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_multiply"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (100,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_screen"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="screen"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_screen"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (150,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_darken"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="darken"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_darken"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (200,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_lighten"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="lighten"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_lighten"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (250,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_overlay"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="overlay"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_overlay"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (300,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_color-dodge"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="color-dodge"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_color-dodge"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (350,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_color-burn"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="color-burn"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_color-burn"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (0,55) size 50x50 LayoutSVGResourceFilter {filter} [id="f_hard-light"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="hard-light"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_hard-light"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (50,55) size 50x50 LayoutSVGResourceFilter {filter} [id="f_soft-light"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="soft-light"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_soft-light"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (100,55) size 50x50 LayoutSVGResourceFilter {filter} [id="f_difference"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="difference"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_difference"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (150,55) size 50x50 LayoutSVGResourceFilter {filter} [id="f_exclusion"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="exclusion"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_exclusion"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (200,55) size 50x50 LayoutSVGResourceFilter {filter} [id="f_hue"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="hue"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_hue"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (250,55) size 50x50 LayoutSVGResourceFilter {filter} [id="f_saturation"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="saturation"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_saturation"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (300,55) size 50x50 LayoutSVGResourceFilter {filter} [id="f_color"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="color"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_color"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (350,55) size 50x50 LayoutSVGResourceFilter {filter} [id="f_luminosity"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="luminosity"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_luminosity"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50
diff --git a/third_party/WebKit/LayoutTests/platform/linux/svg/text/text-fill-opacity-expected.png b/third_party/WebKit/LayoutTests/platform/linux/svg/text/text-fill-opacity-expected.png index 8b19d3a3..e5b706aa 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/svg/text/text-fill-opacity-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/svg/text/text-fill-opacity-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png b/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png index a671fea..6485c85e 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt index 4d04233..105baf9 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt
@@ -35,4 +35,4 @@ layer at (124,114) size 100x100 LayoutBlockFlow (relative positioned) {DIV} at (51,51) size 100x100 [bgcolor=#0000FF] layer at (22,22) size 150x300 - LayoutBlockFlow (positioned) {DIV} at (1,1) size 150x300 [bgcolor=#0080004C] + LayoutBlockFlow (positioned) {DIV} at (1,1) size 150x300 [bgcolor=#0080004D]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png index de99d9c4..6799b25 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png index db221ee..178d303 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/toDataURL-alpha-stability-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/toDataURL-alpha-stability-expected.png index ad82edc..99872cb 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/toDataURL-alpha-stability-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/display_list_2d_canvas/fast/canvas/toDataURL-alpha-stability-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-expected.png index 1fee9fd..65fd7a3 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png index 3080a4c..a376115d 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/toDataURL-alpha-stability-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/toDataURL-alpha-stability-expected.png index ad82edc..99872cb 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/toDataURL-alpha-stability-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/toDataURL-alpha-stability-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png index 68550a7..55e8c10 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png index 8558731..4bb6d8d 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png index 8558731..4bb6d8d 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/compositing/webgl/webgl-background-color-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/compositing/webgl/webgl-background-color-expected.png index 9c9f5c1..7c4a008 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/compositing/webgl/webgl-background-color-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/compositing/webgl/webgl-background-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt index e9c96fb..514b71b6 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt
@@ -3,11 +3,11 @@ layer at (0,0) size 800x537 LayoutBlockFlow {HTML} at (0,0) size 800x537 LayoutBlockFlow {BODY} at (8,20) size 784x501 - LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#0000807F] + LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#00008080] LayoutBlockFlow (anonymous) at (0,220) size 784x245 LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {P} at (0,481) size 784x20 LayoutText {#text} at (0,0) size 232x19 text run at (0,0) width 232: "Top and bottom should look the same." layer at (28,260) size 240x200 - LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#0000807F] + LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#00008080]
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/compositing/shadows/shadow-drawing-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/compositing/shadows/shadow-drawing-expected.png index 78a26f8d..b2884cb 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/compositing/shadows/shadow-drawing-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/compositing/shadows/shadow-drawing-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/css/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/css/shadow-multiple-expected.png index 8804309b..9e34934b 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/css/shadow-multiple-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/css/shadow-multiple-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png index 84182ff..78f1373 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png index 8795437..31b2db69 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png index f946419..80f4929 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png index c37ad74..7949aa51 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png index f67bfca..8e494cd 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png index c8bcfbd2..d4a183e 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png index d9a416bf..c8e6fb6 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png index d7c9f37..a2832ed6 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png index e1583fb0..e6540e95 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png index 7f4e2a4..006ffc1 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png index 042fe2e3..ad10b32 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png index bcf3399..dc8d39c 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-step-expected.png index 7295a7d0..6289e60 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-expected.png index fcaf6af..f286b92 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png index 769e911..5d2aa35 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png index cb3e377..7aa0c0f 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png index b0f505b..0ba6ce7 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png index c2402cc2..857a667 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/search/search-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/search/search-appearance-basic-expected.png index cea7575..09ad92a 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/search/search-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/search/search-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/listbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/listbox-appearance-basic-expected.png index ab3d765..990f717 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/listbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/listbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.png index afe67c3..c05e4b22 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/submit/submit-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/submit/submit-appearance-basic-expected.png index 141fa11..dd58ccc39 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/submit/submit-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/submit/submit-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/text/text-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/text/text-appearance-basic-expected.png index ef015b8..442f5a2 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/text/text-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/text/text-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/textarea/textarea-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/textarea/textarea-appearance-basic-expected.png index b8d467c..b527e6b 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/textarea/textarea-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/textarea/textarea-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/shadow-no-blur-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/shadow-no-blur-expected.png index 12fdf83..7f06cb7 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/shadow-no-blur-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/shadow-no-blur-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/shadow-translucent-fill-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/shadow-translucent-fill-expected.png index 91b809c..da404f3 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/shadow-translucent-fill-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/shadow-translucent-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png index b5f59e7e..0218429 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/backgrounds/background-leakage-transforms-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/backgrounds/background-leakage-transforms-expected.png index 6a7ab514..1a2a786 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/backgrounds/background-leakage-transforms-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/backgrounds/background-leakage-transforms-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/block/basic/fieldset-stretch-to-legend-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/block/basic/fieldset-stretch-to-legend-expected.png index 68f57a65..35c8cad4e 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/block/basic/fieldset-stretch-to-legend-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/block/basic/fieldset-stretch-to-legend-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/block/float/relative-painted-twice-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/block/float/relative-painted-twice-expected.png index 89f96e8..7a39e33 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/block/float/relative-painted-twice-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/block/float/relative-painted-twice-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/box-shadow/basic-shadows-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/box-shadow/basic-shadows-expected.png index adc61341..6ed7e64 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/box-shadow/basic-shadows-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/box-shadow/basic-shadows-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/canvas/canvas-composite-video-expected.png index 2c649c3..9877fa03 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/canvas/canvas-composite-video-shadow-expected.png index 66a6024c..f6b9b659 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/css/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/css/shadow-multiple-expected.png index c3d6268f..5ab2bea 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/css/shadow-multiple-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/css/shadow-multiple-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png index 0d77cfd..c53a3c4 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-expected.png index bd8d0e8..41a615b 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png index 4ade32a..6864aa63 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png index 2535bdc..bdf474a7 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png index 016fa45..afe5b8d4 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png index 562ccbd7..4d1881d 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png index 783ae3e..99c5a8b7 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png Binary files differ
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 0745f36..9f7e12f 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 cd7da19..1f55e06ca 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/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/month-picker-appearance-expected.png index 37bb45c9..4a13b1c 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/month-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/month-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/month-picker-appearance-step-expected.png index 8cb57b9..9d5a8ac 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/month-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/month-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/week-picker-appearance-expected.png index 0b9e1a3f..3fff0ccf 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/week-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/week-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/week-picker-appearance-step-expected.png index bc0736d..31279c63 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/week-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/week-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/checkbox/checkbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/checkbox/checkbox-appearance-basic-expected.png index 0ed4cd7..1aec597 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/checkbox/checkbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/checkbox/checkbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-expected.png index 972b0d4..4f330ee 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png index a36192ba..e336c75 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png index 525ff94..e109a85 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png index 5d0bc49..d9786332 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png index 66a9088..4cef70df 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/radio/radio-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/radio/radio-appearance-basic-expected.png index b9b1cd5..eafce57 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/radio/radio-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/radio/radio-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/search/search-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/search/search-appearance-basic-expected.png index 31087c7f..d19096e 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/search/search-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/search/search-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/listbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/listbox-appearance-basic-expected.png index 87bb1105..bf55327 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/listbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/listbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.png index fc92cb0..602331f 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/submit/submit-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/submit/submit-appearance-basic-expected.png index ae9f7e4..a519da6c 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/submit/submit-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/submit/submit-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/text/text-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/text/text-appearance-basic-expected.png index 3f1cd06..4e8cbcb 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/text/text-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/text/text-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/textarea/textarea-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/textarea/textarea-appearance-basic-expected.png index b1d85e5..a6e6c1a 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/textarea/textarea-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/textarea/textarea-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/overflow/float-in-relpositioned-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/overflow/float-in-relpositioned-expected.png index 6a9c595..d5eebcd 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/overflow/float-in-relpositioned-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/overflow/float-in-relpositioned-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/text/shadow-translucent-fill-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/text/shadow-translucent-fill-expected.png index cb930369..72d1b248b 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/text/shadow-translucent-fill-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/text/shadow-translucent-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/composited-overflow-with-borderbox-background-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/composited-overflow-with-borderbox-background-expected.png index f3129811..39258bdc 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/composited-overflow-with-borderbox-background-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/composited-overflow-with-borderbox-background-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png index 2c649c3..9877fa03 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png index 66a6024c..f6b9b659 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/gpu/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/gpu/fast/canvas/canvas-composite-video-expected.png index 5ada77e..5585a23 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/gpu/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/gpu/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png index 77f1977..a7721ea 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png index 567068fb68..8aa12313a2 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/clip-content-under-overflow-controls-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png similarity index 63% rename from third_party/WebKit/LayoutTests/platform/win/compositing/overflow/clip-content-under-overflow-controls-expected.png rename to third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png index 8695e80..39258bdc 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/clip-content-under-overflow-controls-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/fast/forms/checkbox/checkbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/fast/forms/checkbox/checkbox-appearance-basic-expected.png index 427d132c..3c126cd 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/fast/forms/checkbox/checkbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-retina/fast/forms/checkbox/checkbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/fast/forms/radio/radio-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/fast/forms/radio/radio-appearance-basic-expected.png index bcc38bb..740c4614 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/fast/forms/radio/radio-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-retina/fast/forms/radio/radio-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/images/direct-image-background-color-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/images/direct-image-background-color-expected.png index c2c3cbbe..0a7b3b8 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/images/direct-image-background-color-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/images/direct-image-background-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/images/direct-image-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/compositing/images/direct-image-background-color-expected.txt index ab8dff6..458be41 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/images/direct-image-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/images/direct-image-background-color-expected.txt
@@ -3,9 +3,9 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x564 - LayoutImage {IMG} at (20,0) size 280x200 [bgcolor=#0000807F] + LayoutImage {IMG} at (20,0) size 280x200 [bgcolor=#00008080] LayoutBlockFlow {P} at (0,440) size 784x18 LayoutText {#text} at (0,0) size 245x18 text run at (0,0) width 245: "Top and bottom should look the same." layer at (28,240) size 280x200 - LayoutImage {IMG} at (20,220) size 280x200 [bgcolor=#0000807F] + LayoutImage {IMG} at (20,220) size 280x200 [bgcolor=#00008080]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/clip-content-under-overflow-controls-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/clip-content-under-overflow-controls-expected.png deleted file mode 100644 index 133dc07..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/clip-content-under-overflow-controls-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png index 327618e2..1e7d8dcf 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png index 3b0ff6b..be405160 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/scrollbar-painting-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/scrollbar-painting-expected.png deleted file mode 100644 index 133dc07..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/scrollbar-painting-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/shadows/shadow-drawing-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/shadows/shadow-drawing-expected.png index 68ef1c9..864923d 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/shadows/shadow-drawing-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/shadows/shadow-drawing-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/webgl/webgl-background-color-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/webgl/webgl-background-color-expected.png index 41d7bbc..8d83b949 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/webgl/webgl-background-color-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/webgl/webgl-background-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/webgl/webgl-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/compositing/webgl/webgl-background-color-expected.txt index 4e01cf6..6a341961 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/webgl/webgl-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/webgl/webgl-background-color-expected.txt
@@ -3,11 +3,11 @@ layer at (0,0) size 800x534 LayoutBlockFlow {HTML} at (0,0) size 800x534 LayoutBlockFlow {BODY} at (8,20) size 784x498 - LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#0000807F] + LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#00008080] LayoutBlockFlow (anonymous) at (0,220) size 784x244 LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {P} at (0,480) size 784x18 LayoutText {#text} at (0,0) size 245x18 text run at (0,0) width 245: "Top and bottom should look the same." layer at (28,260) size 240x200 - LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#0000807F] + LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#00008080]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-expected.txt index f945b7f..6c9b171 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-expected.txt
@@ -16,16 +16,16 @@ LayoutBlockFlow {DIV} at (414,12) size 110x100 [bgcolor=#000000] [border: (20px solid #FFFFFF) (20px double #FFFFFF) (20px solid #FFFFFF)] LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {DIV} at (0,128) size 784x128 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (132,108) size 4x18 text run at (132,108) width 4: " " - LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (266,108) size 4x18 text run at (266,108) width 4: " " LayoutBlockFlow {DIV} at (280,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px groove #808080)] LayoutText {#text} at (400,108) size 4x18 text run at (400,108) width 4: " " - LayoutBlockFlow {DIV} at (414,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F) (20px double #0000FF7F) (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (414,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80) (20px double #0000FF80) (20px solid #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {DIV} at (0,256) size 784x128 LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#000000] [border: (20px solid #FFFFFF)]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-transforms-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-transforms-expected.png index 953a6ae..f194a1e 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-transforms-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-transforms-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-transforms-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-transforms-expected.txt index 28f4756..f6bdafd 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-transforms-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-leakage-transforms-expected.txt
@@ -13,10 +13,10 @@ LayoutText {#text} at (288,118) size 4x18 text run at (288,118) width 4: " " LayoutBlockFlow {DIV} at (302,10) size 268x128 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (132,108) size 4x18 text run at (132,108) width 4: " " - LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0 layer at (8,156) size 769x148 @@ -30,10 +30,10 @@ LayoutText {#text} at (288,118) size 4x18 text run at (288,118) width 4: " " LayoutBlockFlow {DIV} at (302,10) size 268x128 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (132,108) size 4x18 text run at (132,108) width 4: " " - LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0 layer at (8,304) size 158x540 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 @@ -47,9 +47,9 @@ LayoutText {#text} at (12,268) size 18x4 text run at (12,268) width 4: " " LayoutBlockFlow {DIV} at (10,282) size 138x248 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (16,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (16,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (2,122) size 18x4 text run at (2,122) width 4: " " - LayoutBlockFlow {DIV} at (16,136) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (16,136) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/block/basic/fieldset-stretch-to-legend-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/block/basic/fieldset-stretch-to-legend-expected.png index 5b11206..b1d154a9 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/block/basic/fieldset-stretch-to-legend-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/block/basic/fieldset-stretch-to-legend-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/intruding-painted-twice-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/intruding-painted-twice-expected.png index f83226b..98cb112 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/intruding-painted-twice-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/intruding-painted-twice-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/intruding-painted-twice-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/intruding-painted-twice-expected.txt index 6fdc752..27e1dbf 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/intruding-painted-twice-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/intruding-painted-twice-expected.txt
@@ -19,10 +19,10 @@ LayoutBlockFlow {P} at (0,52) size 784x18 LayoutText {#text} at (0,0) size 367x18 text run at (0,0) width 367: "These two lines of text should be the same shade of gray:" - LayoutBlockFlow {DIV} at (0,86) size 784x28 [color=#0000007F] + LayoutBlockFlow {DIV} at (0,86) size 784x28 [color=#00000080] LayoutText {#text} at (0,0) size 267x28 text run at (0,0) width 267: "Lorem ipsum dolor sit amet" - LayoutBlockFlow {DIV} at (0,114) size 784x0 [color=#0000007F] + LayoutBlockFlow {DIV} at (0,114) size 784x0 [color=#00000080] LayoutBlockFlow (floating) {DIV} at (0,0) size 266.63x28 LayoutText {#text} at (0,0) size 267x28 text run at (0,0) width 267: "Lorem ipsum dolor sit amet"
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/relative-painted-twice-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/relative-painted-twice-expected.png index b93b363a..5f99bf4 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/relative-painted-twice-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/block/float/relative-painted-twice-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-expected.txt index 092f59a..f1fb14f 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-expected.txt
@@ -3,40 +3,40 @@ layer at (0,0) size 800x538 LayoutBlockFlow {HTML} at (0,0) size 800x538 LayoutBlockFlow {BODY} at (8,8) size 784x522 - LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (170,156) size 4x18 text run at (170,156) width 4: " " - LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (344,156) size 4x18 text run at (344,156) width 4: " " - LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (518,156) size 4x18 text run at (518,156) width 4: " " - LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (692,156) size 4x18 text run at (692,156) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (170,330) size 4x18 text run at (170,330) width 4: " " - LayoutBlockFlow {DIV} at (184,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (344,330) size 4x18 text run at (344,330) width 4: " " - LayoutBlockFlow {DIV} at (358,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (518,330) size 4x18 text run at (518,330) width 4: " " - LayoutBlockFlow {DIV} at (532,184) size 150x150 [border: (50px solid #0000007F) none (50px groove #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,184) size 150x150 [border: (50px solid #00000080) none (50px groove #00000080) (50px solid #00000080)] LayoutText {#text} at (692,330) size 4x18 text run at (692,330) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,358) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,358) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (170,504) size 4x18 text run at (170,504) width 4: " " - LayoutBlockFlow {DIV} at (184,358) size 150x150 [border: (50px solid #0000007F) none (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,358) size 150x150 [border: (50px solid #00000080) none (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (344,504) size 4x18 text run at (344,504) width 4: " " - LayoutBlockFlow {DIV} at (358,358) size 150x150 [border: (50px solid #0000007F) (50px solid #0080007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,358) size 150x150 [border: (50px solid #00000080) (50px solid #00800080) (50px solid #00000080)] LayoutText {#text} at (518,504) size 4x18 text run at (518,504) width 4: " " - LayoutBlockFlow {DIV} at (532,358) size 150x150 [border: (50px solid #0000007F) (50px solid #0080007F) (50px solid #0000007F) (50px solid #0080007F)] + LayoutBlockFlow {DIV} at (532,358) size 150x150 [border: (50px solid #00000080) (50px solid #00800080) (50px solid #00000080) (50px solid #00800080)] LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-radius-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-radius-expected.txt index e6de970..c46294a5 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-radius-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-radius-expected.txt
@@ -3,40 +3,40 @@ layer at (0,0) size 800x490 LayoutBlockFlow {HTML} at (0,0) size 800x490 LayoutBlockFlow {BODY} at (8,8) size 784x474 - LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (170,156) size 4x18 text run at (170,156) width 4: " " - LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (344,156) size 4x18 text run at (344,156) width 4: " " - LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (518,156) size 4x18 text run at (518,156) width 4: " " - LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (692,156) size 4x18 text run at (692,156) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,184) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,184) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (170,330) size 4x18 text run at (170,330) width 4: " " - LayoutBlockFlow {DIV} at (184,184) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,184) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (344,330) size 4x18 text run at (344,330) width 4: " " - LayoutBlockFlow {DIV} at (358,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (518,330) size 4x18 text run at (518,330) width 4: " " - LayoutBlockFlow {DIV} at (532,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (692,330) size 4x18 text run at (692,330) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,358) size 150x102 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,358) size 150x102 [border: (50px solid #00000080)] LayoutText {#text} at (170,456) size 4x18 text run at (170,456) width 4: " " - LayoutBlockFlow {DIV} at (184,358) size 150x102 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,358) size 150x102 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (344,456) size 4x18 text run at (344,456) width 4: " " - LayoutBlockFlow {DIV} at (358,358) size 150x102 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,358) size 150x102 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (518,456) size 4x18 text run at (518,456) width 4: " " - LayoutBlockFlow {DIV} at (532,358) size 150x102 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,358) size 150x102 [border: (50px solid #00000080)] LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-radius2-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-radius2-expected.txt index fe88075..d54a8cbe 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-radius2-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/mixed-border-styles-radius2-expected.txt
@@ -3,25 +3,25 @@ layer at (0,0) size 800x404 LayoutBlockFlow {HTML} at (0,0) size 800x404 LayoutBlockFlow {BODY} at (8,8) size 784x388 - LayoutBlockFlow {DIV} at (20,20) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (20,20) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (190,176) size 4x18 text run at (190,176) width 4: " " - LayoutBlockFlow {DIV} at (214,20) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (214,20) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (384,176) size 4x18 text run at (384,176) width 4: " " - LayoutBlockFlow {DIV} at (408,20) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (408,20) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (578,176) size 4x18 text run at (578,176) width 4: " " - LayoutBlockFlow {DIV} at (602,20) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (602,20) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (20,214) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (20,214) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (190,370) size 4x18 text run at (190,370) width 4: " " - LayoutBlockFlow {DIV} at (214,214) size 150x150 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (214,214) size 150x150 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (384,370) size 4x18 text run at (384,370) width 4: " " - LayoutBlockFlow {DIV} at (408,214) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (408,214) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (578,370) size 4x18 text run at (578,370) width 4: " " - LayoutBlockFlow {DIV} at (602,214) size 150x150 [border: (50px solid #0000007F) none (50px groove #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (602,214) size 150x150 [border: (50px solid #00000080) none (50px groove #00000080) (50px solid #00000080)] LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/outline-alpha-block-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/outline-alpha-block-expected.png index 2177f3463..6675850 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/outline-alpha-block-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/outline-alpha-block-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/outline-alpha-inline-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/outline-alpha-inline-expected.png index d88d15f..62db17a2 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/outline-alpha-inline-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/outline-alpha-inline-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/box-shadow/basic-shadows-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/box-shadow/basic-shadows-expected.png index de03ed6..d09434a 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/box-shadow/basic-shadows-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/box-shadow/basic-shadows-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/box-shadow/inset-box-shadow-radius-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/box-shadow/inset-box-shadow-radius-expected.txt index 3baa197..83c13bc 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/box-shadow/inset-box-shadow-radius-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/box-shadow/inset-box-shadow-radius-expected.txt
@@ -20,18 +20,18 @@ LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0 layer at (12,12) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (12,12) size 280x280 [border: (10px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (12,12) size 280x280 [border: (10px solid #00FF000D)] layer at (12,12) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280 layer at (304,12) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (304,12) size 280x280 [border: (20px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (304,12) size 280x280 [border: (20px solid #00FF000D)] layer at (304,12) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280 layer at (12,300) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (12,300) size 280x280 [border: (50px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (12,300) size 280x280 [border: (50px solid #00FF000D)] layer at (12,300) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280 layer at (304,300) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (304,300) size 280x280 [border: (90px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (304,300) size 280x280 [border: (90px solid #00FF000D)] layer at (304,300) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-composite-video-expected.png index cf6b419..89b633e1 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-composite-video-shadow-expected.png index 66d320a..bfd4965 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/css/percentage-non-integer-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/css/percentage-non-integer-expected.txt index 94a62da..2b611ef 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/css/percentage-non-integer-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/css/percentage-non-integer-expected.txt
@@ -5,55 +5,55 @@ LayoutBlockFlow {BODY} at (8,8) size 784x584 LayoutBlockFlow {DIV} at (0,0) size 100x100 [bgcolor=#00FF00] LayoutBlockFlow {DIV} at (0,0) size 100x4 - LayoutBlockFlow {DIV} at (0,0) size 100x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,4) size 1005x4 - LayoutBlockFlow {DIV} at (0,0) size 100.50x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.50x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,8) size 995x4 - LayoutBlockFlow {DIV} at (0,0) size 100.48x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.48x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,12) size 985x4 - LayoutBlockFlow {DIV} at (0,0) size 100.47x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.47x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,16) size 975x4 - LayoutBlockFlow {DIV} at (0,0) size 100.42x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.42x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,20) size 965x4 - LayoutBlockFlow {DIV} at (0,0) size 100.36x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.36x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,24) size 955x4 - LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,28) size 945x4 - LayoutBlockFlow {DIV} at (0,0) size 100.16x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.16x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,32) size 935x4 - LayoutBlockFlow {DIV} at (0,0) size 100.03x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.03x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,36) size 930x4 - LayoutBlockFlow {DIV} at (0,0) size 100.44x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.44x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,40) size 920x4 - LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,44) size 910x4 - LayoutBlockFlow {DIV} at (0,0) size 100.09x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.09x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,48) size 910x4 - LayoutBlockFlow {DIV} at (0,0) size 101x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 101x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,52) size 900x4 - LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,56) size 890x4 - LayoutBlockFlow {DIV} at (0,0) size 100.56x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.56x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,60) size 885x4 - LayoutBlockFlow {DIV} at (0,0) size 100.88x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.88x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,64) size 875x4 - LayoutBlockFlow {DIV} at (0,0) size 100.63x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.63x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,68) size 870x4 - LayoutBlockFlow {DIV} at (0,0) size 100.91x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.91x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,72) size 860x4 - LayoutBlockFlow {DIV} at (0,0) size 100.61x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.61x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,76) size 850x4 - LayoutBlockFlow {DIV} at (0,0) size 100.30x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.30x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,80) size 845x4 - LayoutBlockFlow {DIV} at (0,0) size 100.55x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.55x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,84) size 840x4 - LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,88) size 835x4 - LayoutBlockFlow {DIV} at (0,0) size 101.03x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 101.03x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,92) size 825x4 - LayoutBlockFlow {DIV} at (0,0) size 100.64x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.64x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,96) size 815x4 - LayoutBlockFlow {DIV} at (0,0) size 100.23x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.23x4 [bgcolor=#00000080] LayoutBlockFlow (anonymous) at (0,100) size 784x18 LayoutBR {BR} at (0,0) size 0x18 layer at (8,126) size 784x0 @@ -86,59 +86,59 @@ LayoutTable (positioned) {TABLE} at (0,0) size 1000x20 LayoutTableSection {TBODY} at (0,0) size 1000x20 LayoutTableRow {TR} at (0,0) size 1000x20 - LayoutTableCell {TD} at (0,1) size 12x18 [bgcolor=#0000007F] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (0,1) size 12x18 [bgcolor=#00000080] [r=0 c=0 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (12,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=1 rs=1 cs=1] + LayoutTableCell {TD} at (12,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=1 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (22,1) size 14x18 [bgcolor=#0000007F] [r=0 c=2 rs=1 cs=1] + LayoutTableCell {TD} at (22,1) size 14x18 [bgcolor=#00000080] [r=0 c=2 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (36,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=3 rs=1 cs=1] + LayoutTableCell {TD} at (36,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=3 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (46,1) size 16x18 [bgcolor=#0000007F] [r=0 c=4 rs=1 cs=1] + LayoutTableCell {TD} at (46,1) size 16x18 [bgcolor=#00000080] [r=0 c=4 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (62,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=5 rs=1 cs=1] + LayoutTableCell {TD} at (62,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=5 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (72,1) size 18x18 [bgcolor=#0000007F] [r=0 c=6 rs=1 cs=1] + LayoutTableCell {TD} at (72,1) size 18x18 [bgcolor=#00000080] [r=0 c=6 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (90,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=7 rs=1 cs=1] + LayoutTableCell {TD} at (90,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=7 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (100,1) size 20x18 [bgcolor=#0000007F] [r=0 c=8 rs=1 cs=1] + LayoutTableCell {TD} at (100,1) size 20x18 [bgcolor=#00000080] [r=0 c=8 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (120,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=9 rs=1 cs=1] + LayoutTableCell {TD} at (120,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=9 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (130,1) size 22x18 [bgcolor=#0000007F] [r=0 c=10 rs=1 cs=1] + LayoutTableCell {TD} at (130,1) size 22x18 [bgcolor=#00000080] [r=0 c=10 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (152,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=11 rs=1 cs=1] + LayoutTableCell {TD} at (152,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=11 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (162,1) size 24x18 [bgcolor=#0000007F] [r=0 c=12 rs=1 cs=1] + LayoutTableCell {TD} at (162,1) size 24x18 [bgcolor=#00000080] [r=0 c=12 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (186,10) size 10x0 [bgcolor=#00FF007F] [r=0 c=13 rs=1 cs=1] - LayoutTableCell {TD} at (196,1) size 26x18 [bgcolor=#0000007F] [r=0 c=14 rs=1 cs=1] + LayoutTableCell {TD} at (186,10) size 10x0 [bgcolor=#00FF0080] [r=0 c=13 rs=1 cs=1] + LayoutTableCell {TD} at (196,1) size 26x18 [bgcolor=#00000080] [r=0 c=14 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (222,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=15 rs=1 cs=1] + LayoutTableCell {TD} at (222,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=15 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (232,1) size 28x18 [bgcolor=#0000007F] [r=0 c=16 rs=1 cs=1] + LayoutTableCell {TD} at (232,1) size 28x18 [bgcolor=#00000080] [r=0 c=16 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (260,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=17 rs=1 cs=1] + LayoutTableCell {TD} at (260,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=17 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (270,1) size 30x18 [bgcolor=#0000007F] [r=0 c=18 rs=1 cs=1] + LayoutTableCell {TD} at (270,1) size 30x18 [bgcolor=#00000080] [r=0 c=18 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x18 text run at (0,0) width 4: " " LayoutTableCell {TD} at (300,1) size 700x18 [r=0 c=19 rs=1 cs=1]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.png index 7e8a288..3a7a864a 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.txt index d5c462a..37db157 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.txt
@@ -14,7 +14,7 @@ text run at (123,0) width 96: "text" LayoutText {#text} at (218,0) size 17x56 text run at (218,0) width 17: " " - LayoutInline {SPAN} at (0,0) size 128x56 [color=#0000004C] + LayoutInline {SPAN} at (0,0) size 128x56 [color=#0000004D] LayoutText {#text} at (234,0) size 128x56 text run at (234,0) width 128: "casts" LayoutText {#text} at (361,0) size 17x56
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.png index 36ad966..5ae51cf9 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png index 0d29e9c2..f87a77f 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-expected.png index b03a9a2a..0402c17 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png index c3cb37a..774c192 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png index 689923ed..a716aac 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png index a05280b..a99e49d 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png index 8e6a3fe..07cca46 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png index b2989ba..06dc79d7 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png index e1260cc5..53d82856 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png index 852f21a..1b031005 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-expected.png index 8c6e397..8287cde2 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-step-expected.png index 86d39519..47bb722c 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-expected.png index 1b576c4..27b65a3 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-step-expected.png index 839ca9c..c7f6cc88 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/checkbox/checkbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/checkbox/checkbox-appearance-basic-expected.png index e47dc3f..c35ccd6c 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/checkbox/checkbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/checkbox/checkbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-expected.png index 5cdc49e..bd700c3c 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png index 14f9bc4..50a7446b 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png index 61dcb76..a8162a1 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-appearance-zoom200-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png index 1ee6c16..2495919b 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png index 833b382ee..f34d853 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/radio/radio-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/radio/radio-appearance-basic-expected.png index 2eda1723..b4ec6017 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/radio/radio-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/radio/radio-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/range/range-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/range/range-appearance-basic-expected.png index 69828b4..fbd18524 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/range/range-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/range/range-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/search/search-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/search/search-appearance-basic-expected.png index f81e9d0..d87dc5d 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/search/search-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/search/search-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/listbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/listbox-appearance-basic-expected.png index 4908c22f..45d0bb16 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/listbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/listbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/submit/submit-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/submit/submit-appearance-basic-expected.png index 3a5e3200..1719f74 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/submit/submit-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/submit/submit-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/text/text-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/text/text-appearance-basic-expected.png index c214617..63c413a 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/text/text-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/text/text-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/textarea/textarea-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/textarea/textarea-appearance-basic-expected.png index 0569882..1ba60844 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/textarea/textarea-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/textarea/textarea-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/gradient-after-transparent-border-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/gradient-after-transparent-border-expected.png index 6ef6477..3a38941 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/gradient-after-transparent-border-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/gradient-after-transparent-border-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/overflow/float-in-relpositioned-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/overflow/float-in-relpositioned-expected.png index 44a3c464..66f653a 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/overflow/float-in-relpositioned-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/overflow/float-in-relpositioned-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/overflow/float-in-relpositioned-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/overflow/float-in-relpositioned-expected.txt index 9b2a0d1..2c506b30 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/overflow/float-in-relpositioned-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/overflow/float-in-relpositioned-expected.txt
@@ -29,15 +29,15 @@ LayoutBlockFlow {DIV} at (10,404) size 102x102 [border: (1px solid #000000)] layer at (69,77) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] - LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80] layer at (19,239) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] - LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80] layer at (69,301) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] layer at (69,301) size 75x75 backgroundClip at (19,301) size 100x85 clip at (19,301) size 100x85 - LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80] layer at (19,463) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] layer at (19,463) size 75x75 backgroundClip at (19,413) size 85x100 clip at (19,413) size 85x100 - LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/ruby/select-ruby-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/ruby/select-ruby-expected.png index 50335d5c..1b66e5f 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/ruby/select-ruby-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/ruby/select-ruby-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-no-blur-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-no-blur-expected.png index 2570f57..a620ffae9 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-no-blur-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-no-blur-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/text/shadow-no-blur-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-no-blur-expected.txt similarity index 99% rename from third_party/WebKit/LayoutTests/fast/text/shadow-no-blur-expected.txt rename to third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-no-blur-expected.txt index 0d5f169..3b73ac7 100644 --- a/third_party/WebKit/LayoutTests/fast/text/shadow-no-blur-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-no-blur-expected.txt
@@ -3,7 +3,7 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {DIV} at (0,0) size 784x280 [color=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 784x280 [color=#00000080] LayoutBlockFlow {DIV} at (0,0) size 784x56 LayoutText {#text} at (0,0) size 298x56 text run at (0,0) width 298: "Text shadow"
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-translucent-fill-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-translucent-fill-expected.png index 1b38129..4a2af41 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-translucent-fill-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-translucent-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-translucent-fill-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-translucent-fill-expected.txt index 70d0c99..15b9bdea 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-translucent-fill-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/text/shadow-translucent-fill-expected.txt
@@ -15,7 +15,7 @@ text run at (48,0) width 24: "A" LayoutText {#text} at (72,0) size 24x24 text run at (72,0) width 24: " " - LayoutInline {SPAN} at (0,0) size 24x24 [color=#00000019] + LayoutInline {SPAN} at (0,0) size 24x24 [color=#0000001A] LayoutText {#text} at (96,0) size 24x24 text run at (96,0) width 24: "A" LayoutText {#text} at (0,0) size 0x0 @@ -30,7 +30,7 @@ text run at (48,0) width 24: "A" LayoutText {#text} at (72,0) size 24x24 text run at (72,0) width 24: " " - LayoutInline {SPAN} at (0,0) size 24x24 [color=#00000019] + LayoutInline {SPAN} at (0,0) size 24x24 [color=#0000001A] LayoutText {#text} at (96,0) size 24x24 text run at (96,0) width 24: "A" LayoutText {#text} at (0,0) size 0x0 @@ -45,7 +45,7 @@ text run at (48,0) width 24: "A" LayoutText {#text} at (72,0) size 24x24 text run at (72,0) width 24: " " - LayoutInline {SPAN} at (0,0) size 24x24 [color=#00000019] + LayoutInline {SPAN} at (0,0) size 24x24 [color=#0000001A] LayoutText {#text} at (96,0) size 24x24 text run at (96,0) width 24: "A" LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-overflow-with-borderbox-background-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-overflow-with-borderbox-background-expected.png index 05d0ea92..21b0b3d9 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-overflow-with-borderbox-background-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-overflow-with-borderbox-background-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-fill-opacity-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-fill-opacity-expected.png index cdf75d49..25b8f772 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-fill-opacity-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-fill-opacity-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png index 056d0f0..a2f7602 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt index db5173dc..4a0be3f 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt
@@ -35,4 +35,4 @@ layer at (124,114) size 100x100 LayoutBlockFlow (relative positioned) {DIV} at (51,51) size 100x100 [bgcolor=#0000FF] layer at (22,22) size 150x300 - LayoutBlockFlow (positioned) {DIV} at (1,1) size 150x300 [bgcolor=#0080004C] + LayoutBlockFlow (positioned) {DIV} at (1,1) size 150x300 [bgcolor=#0080004D]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png index cf6b419..89b633e1 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png index 66d320a..bfd4965 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-composite-video-expected.png index 9dc0dbf..74c3cda1 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png index 59274cf..623dc9a 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-content-under-overflow-controls-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-content-under-overflow-controls-expected.png deleted file mode 100644 index 133dc07..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-content-under-overflow-controls-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png index 9a7b355..0cc11fd5 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png new file mode 100644 index 0000000..21b0b3d9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/composited-overflow-with-borderbox-background-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/composited-overflow-with-borderbox-background-expected.png new file mode 100644 index 0000000..21b0b3d9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/composited-overflow-with-borderbox-background-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/compositing/webgl/webgl-background-color-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/compositing/webgl/webgl-background-color-expected.png index 41d7bbc..8d83b949 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/compositing/webgl/webgl-background-color-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/compositing/webgl/webgl-background-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt new file mode 100644 index 0000000..6a341961 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt
@@ -0,0 +1,13 @@ +layer at (0,0) size 800x600 + LayoutView at (0,0) size 800x600 +layer at (0,0) size 800x534 + LayoutBlockFlow {HTML} at (0,0) size 800x534 + LayoutBlockFlow {BODY} at (8,20) size 784x498 + LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#00008080] + LayoutBlockFlow (anonymous) at (0,220) size 784x244 + LayoutText {#text} at (0,0) size 0x0 + LayoutBlockFlow {P} at (0,480) size 784x18 + LayoutText {#text} at (0,0) size 245x18 + text run at (0,0) width 245: "Top and bottom should look the same." +layer at (28,260) size 240x200 + LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#00008080]
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png index 22bd897..8809638 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png index cba2e2a..d4917a0 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png index e769c1fe..0838645 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/images/direct-image-background-color-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/images/direct-image-background-color-expected.png index 16442de..7415e58b 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/images/direct-image-background-color-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/images/direct-image-background-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/images/direct-image-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/win/compositing/images/direct-image-background-color-expected.txt index d73194e..fe67fbdb 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/images/direct-image-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/images/direct-image-background-color-expected.txt
@@ -3,9 +3,9 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,20) size 784x564 - LayoutImage {IMG} at (20,0) size 280x200 [bgcolor=#0000807F] + LayoutImage {IMG} at (20,0) size 280x200 [bgcolor=#00008080] LayoutBlockFlow {P} at (0,440) size 784x18 LayoutText {#text} at (0,0) size 245x17 text run at (0,0) width 245: "Top and bottom should look the same." layer at (28,240) size 280x200 - LayoutImage {IMG} at (20,220) size 280x200 [bgcolor=#0000807F] + LayoutImage {IMG} at (20,220) size 280x200 [bgcolor=#00008080]
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png index 9fe5fa84..ced3f3f5 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/overflow-scroll-background-opaque-to-transparent-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png index 017596a..0d2ca44 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/overflow-scroll-background-transparent-to-opaque-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/scrollbar-painting-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/scrollbar-painting-expected.png deleted file mode 100644 index 8695e80..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/scrollbar-painting-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/shadows/shadow-drawing-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/shadows/shadow-drawing-expected.png index 1a42947..7546b31e 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/shadows/shadow-drawing-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/shadows/shadow-drawing-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/webgl/webgl-background-color-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/webgl/webgl-background-color-expected.png index 7391cc8..6c8ec4a 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/webgl/webgl-background-color-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/webgl/webgl-background-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/webgl/webgl-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/win/compositing/webgl/webgl-background-color-expected.txt index 91628ed..61d6fc5c 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/webgl/webgl-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/webgl/webgl-background-color-expected.txt
@@ -3,11 +3,11 @@ layer at (0,0) size 800x534 LayoutBlockFlow {HTML} at (0,0) size 800x534 LayoutBlockFlow {BODY} at (8,20) size 784x498 - LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#0000807F] + LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#00008080] LayoutBlockFlow (anonymous) at (0,220) size 784x244 LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {P} at (0,480) size 784x18 LayoutText {#text} at (0,0) size 245x17 text run at (0,0) width 245: "Top and bottom should look the same." layer at (28,260) size 240x200 - LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#0000807F] + LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#00008080]
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-expected.txt index 401f874..282316a 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-expected.txt
@@ -16,16 +16,16 @@ LayoutBlockFlow {DIV} at (414,12) size 110x100 [bgcolor=#000000] [border: (20px solid #FFFFFF) (20px double #FFFFFF) (20px solid #FFFFFF)] LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {DIV} at (0,128) size 784x128 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (132,108) size 4x17 text run at (132,108) width 4: " " - LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (266,108) size 4x17 text run at (266,108) width 4: " " LayoutBlockFlow {DIV} at (280,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px groove #808080)] LayoutText {#text} at (400,108) size 4x17 text run at (400,108) width 4: " " - LayoutBlockFlow {DIV} at (414,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F) (20px double #0000FF7F) (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (414,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80) (20px double #0000FF80) (20px solid #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {DIV} at (0,256) size 784x128 LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#000000] [border: (20px solid #FFFFFF)]
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-transforms-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-transforms-expected.png index 2ba3c5d..7a4c3ac 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-transforms-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-transforms-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-transforms-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-transforms-expected.txt index 1db8f0b..0f25cb9d 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-transforms-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-leakage-transforms-expected.txt
@@ -13,10 +13,10 @@ LayoutText {#text} at (288,118) size 4x17 text run at (288,118) width 4: " " LayoutBlockFlow {DIV} at (302,10) size 268x128 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (132,108) size 4x17 text run at (132,108) width 4: " " - LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0 layer at (8,156) size 769x148 @@ -30,10 +30,10 @@ LayoutText {#text} at (288,118) size 4x17 text run at (288,118) width 4: " " LayoutBlockFlow {DIV} at (302,10) size 268x128 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (12,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (132,108) size 4x17 text run at (132,108) width 4: " " - LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (146,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0 layer at (8,304) size 158x540 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 @@ -47,9 +47,9 @@ LayoutText {#text} at (12,268) size 17x4 text run at (12,268) width 4: " " LayoutBlockFlow {DIV} at (10,282) size 138x248 [bgcolor=#808080] - LayoutBlockFlow {DIV} at (15,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF7F)] + LayoutBlockFlow {DIV} at (15,12) size 110x100 [bgcolor=#FFFFFF] [border: (20px solid #0000FF80)] LayoutText {#text} at (2,122) size 17x4 text run at (2,122) width 4: " " - LayoutBlockFlow {DIV} at (15,136) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF7F)] + LayoutBlockFlow {DIV} at (15,136) size 110x100 [bgcolor=#FFFFFF] [border: (20px double #0000FF80)] LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.png index 312d40b..25b7184b 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/block/float/intruding-painted-twice-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/block/float/intruding-painted-twice-expected.png index 34a9faa..d747e85 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/block/float/intruding-painted-twice-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/block/float/intruding-painted-twice-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/block/float/intruding-painted-twice-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/block/float/intruding-painted-twice-expected.txt index dafa0525..d36b6ba 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/block/float/intruding-painted-twice-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/block/float/intruding-painted-twice-expected.txt
@@ -19,10 +19,10 @@ LayoutBlockFlow {P} at (0,52) size 784x18 LayoutText {#text} at (0,0) size 367x17 text run at (0,0) width 367: "These two lines of text should be the same shade of gray:" - LayoutBlockFlow {DIV} at (0,86) size 784x27 [color=#0000007F] + LayoutBlockFlow {DIV} at (0,86) size 784x27 [color=#00000080] LayoutText {#text} at (0,0) size 267x26 text run at (0,0) width 267: "Lorem ipsum dolor sit amet" - LayoutBlockFlow {DIV} at (0,113) size 784x0 [color=#0000007F] + LayoutBlockFlow {DIV} at (0,113) size 784x0 [color=#00000080] LayoutBlockFlow (floating) {DIV} at (0,0) size 266.63x27 LayoutText {#text} at (0,0) size 267x26 text run at (0,0) width 267: "Lorem ipsum dolor sit amet"
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/block/float/relative-painted-twice-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/block/float/relative-painted-twice-expected.png index eafd224..92cd3a3 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/block/float/relative-painted-twice-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/block/float/relative-painted-twice-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-expected.txt index 35b83fce..116a926 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-expected.txt
@@ -3,40 +3,40 @@ layer at (0,0) size 800x538 LayoutBlockFlow {HTML} at (0,0) size 800x538 LayoutBlockFlow {BODY} at (8,8) size 784x522 - LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (170,156) size 4x17 text run at (170,156) width 4: " " - LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (344,156) size 4x17 text run at (344,156) width 4: " " - LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (518,156) size 4x17 text run at (518,156) width 4: " " - LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (692,156) size 4x17 text run at (692,156) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (170,330) size 4x17 text run at (170,330) width 4: " " - LayoutBlockFlow {DIV} at (184,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (344,330) size 4x17 text run at (344,330) width 4: " " - LayoutBlockFlow {DIV} at (358,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (518,330) size 4x17 text run at (518,330) width 4: " " - LayoutBlockFlow {DIV} at (532,184) size 150x150 [border: (50px solid #0000007F) none (50px groove #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,184) size 150x150 [border: (50px solid #00000080) none (50px groove #00000080) (50px solid #00000080)] LayoutText {#text} at (692,330) size 4x17 text run at (692,330) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,358) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,358) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (170,504) size 4x17 text run at (170,504) width 4: " " - LayoutBlockFlow {DIV} at (184,358) size 150x150 [border: (50px solid #0000007F) none (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,358) size 150x150 [border: (50px solid #00000080) none (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (344,504) size 4x17 text run at (344,504) width 4: " " - LayoutBlockFlow {DIV} at (358,358) size 150x150 [border: (50px solid #0000007F) (50px solid #0080007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,358) size 150x150 [border: (50px solid #00000080) (50px solid #00800080) (50px solid #00000080)] LayoutText {#text} at (518,504) size 4x17 text run at (518,504) width 4: " " - LayoutBlockFlow {DIV} at (532,358) size 150x150 [border: (50px solid #0000007F) (50px solid #0080007F) (50px solid #0000007F) (50px solid #0080007F)] + LayoutBlockFlow {DIV} at (532,358) size 150x150 [border: (50px solid #00000080) (50px solid #00800080) (50px solid #00000080) (50px solid #00800080)] LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-radius-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-radius-expected.txt index dbec691..36fc2e4 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-radius-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-radius-expected.txt
@@ -3,40 +3,40 @@ layer at (0,0) size 800x490 LayoutBlockFlow {HTML} at (0,0) size 800x490 LayoutBlockFlow {BODY} at (8,8) size 784x474 - LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,10) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (170,156) size 4x17 text run at (170,156) width 4: " " - LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,10) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (344,156) size 4x17 text run at (344,156) width 4: " " - LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,10) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (518,156) size 4x17 text run at (518,156) width 4: " " - LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,10) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (692,156) size 4x17 text run at (692,156) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,184) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,184) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (170,330) size 4x17 text run at (170,330) width 4: " " - LayoutBlockFlow {DIV} at (184,184) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,184) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (344,330) size 4x17 text run at (344,330) width 4: " " - LayoutBlockFlow {DIV} at (358,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (518,330) size 4x17 text run at (518,330) width 4: " " - LayoutBlockFlow {DIV} at (532,184) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,184) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (692,330) size 4x17 text run at (692,330) width 4: " " LayoutBR {BR} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (10,358) size 150x102 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (10,358) size 150x102 [border: (50px solid #00000080)] LayoutText {#text} at (170,456) size 4x17 text run at (170,456) width 4: " " - LayoutBlockFlow {DIV} at (184,358) size 150x102 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (184,358) size 150x102 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (344,456) size 4x17 text run at (344,456) width 4: " " - LayoutBlockFlow {DIV} at (358,358) size 150x102 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (358,358) size 150x102 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (518,456) size 4x17 text run at (518,456) width 4: " " - LayoutBlockFlow {DIV} at (532,358) size 150x102 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (532,358) size 150x102 [border: (50px solid #00000080)] LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-radius2-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-radius2-expected.txt index bb9030739..acdf388e 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-radius2-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/mixed-border-styles-radius2-expected.txt
@@ -3,25 +3,25 @@ layer at (0,0) size 800x404 LayoutBlockFlow {HTML} at (0,0) size 800x404 LayoutBlockFlow {BODY} at (8,8) size 784x388 - LayoutBlockFlow {DIV} at (20,20) size 150x150 [border: (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (20,20) size 150x150 [border: (50px solid #00000080)] LayoutText {#text} at (190,176) size 4x17 text run at (190,176) width 4: " " - LayoutBlockFlow {DIV} at (214,20) size 150x150 [border: (50px solid #0000007F) (50px double #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (214,20) size 150x150 [border: (50px solid #00000080) (50px double #00000080) (50px solid #00000080)] LayoutText {#text} at (384,176) size 4x17 text run at (384,176) width 4: " " - LayoutBlockFlow {DIV} at (408,20) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (408,20) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (578,176) size 4x17 text run at (578,176) width 4: " " - LayoutBlockFlow {DIV} at (602,20) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (602,20) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (20,214) size 150x150 [border: (50px solid #0000007F) (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (20,214) size 150x150 [border: (50px solid #00000080) (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (190,370) size 4x17 text run at (190,370) width 4: " " - LayoutBlockFlow {DIV} at (214,214) size 150x150 [border: (50px solid #0000007F) none (50px solid #00000000) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (214,214) size 150x150 [border: (50px solid #00000080) none (50px solid #00000000) (50px solid #00000080)] LayoutText {#text} at (384,370) size 4x17 text run at (384,370) width 4: " " - LayoutBlockFlow {DIV} at (408,214) size 150x150 [border: (50px solid #0000007F) none (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (408,214) size 150x150 [border: (50px solid #00000080) none (50px solid #00000080)] LayoutText {#text} at (578,370) size 4x17 text run at (578,370) width 4: " " - LayoutBlockFlow {DIV} at (602,214) size 150x150 [border: (50px solid #0000007F) none (50px groove #0000007F) (50px solid #0000007F)] + LayoutBlockFlow {DIV} at (602,214) size 150x150 [border: (50px solid #00000080) none (50px groove #00000080) (50px solid #00000080)] LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/outline-alpha-block-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/outline-alpha-block-expected.png index a7bc509..c93f7ef 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/outline-alpha-block-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/outline-alpha-block-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/outline-alpha-inline-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/outline-alpha-inline-expected.png index 156039d..52d1931 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/outline-alpha-inline-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/outline-alpha-inline-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/box-shadow/basic-shadows-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/box-shadow/basic-shadows-expected.png index 388c45b..bddf115 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/box-shadow/basic-shadows-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/box-shadow/basic-shadows-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/box-shadow/inset-box-shadow-radius-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/box-shadow/inset-box-shadow-radius-expected.txt index 0df3631..b20c5f56 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/box-shadow/inset-box-shadow-radius-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/box-shadow/inset-box-shadow-radius-expected.txt
@@ -20,18 +20,18 @@ LayoutText {#text} at (0,0) size 0x0 LayoutText {#text} at (0,0) size 0x0 layer at (12,12) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (12,12) size 280x280 [border: (10px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (12,12) size 280x280 [border: (10px solid #00FF000D)] layer at (12,12) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280 layer at (304,12) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (304,12) size 280x280 [border: (20px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (304,12) size 280x280 [border: (20px solid #00FF000D)] layer at (304,12) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280 layer at (12,300) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (12,300) size 280x280 [border: (50px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (12,300) size 280x280 [border: (50px solid #00FF000D)] layer at (12,300) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280 layer at (304,300) size 280x280 - LayoutBlockFlow (positioned) {DIV} at (304,300) size 280x280 [border: (90px solid #00FF000C)] + LayoutBlockFlow (positioned) {DIV} at (304,300) size 280x280 [border: (90px solid #00FF000D)] layer at (304,300) size 280x280 LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 280x280
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-composite-video-expected.png index b24c587..435d4ad 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-composite-video-shadow-expected.png index 2ee3fbd..fe3c4887 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/css/percentage-non-integer-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/css/percentage-non-integer-expected.txt index cf475d9..dc4c4a8 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/css/percentage-non-integer-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/css/percentage-non-integer-expected.txt
@@ -5,55 +5,55 @@ LayoutBlockFlow {BODY} at (8,8) size 784x584 LayoutBlockFlow {DIV} at (0,0) size 100x100 [bgcolor=#00FF00] LayoutBlockFlow {DIV} at (0,0) size 100x4 - LayoutBlockFlow {DIV} at (0,0) size 100x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,4) size 1005x4 - LayoutBlockFlow {DIV} at (0,0) size 100.50x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.50x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,8) size 995x4 - LayoutBlockFlow {DIV} at (0,0) size 100.48x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.48x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,12) size 985x4 - LayoutBlockFlow {DIV} at (0,0) size 100.47x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.47x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,16) size 975x4 - LayoutBlockFlow {DIV} at (0,0) size 100.42x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.42x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,20) size 965x4 - LayoutBlockFlow {DIV} at (0,0) size 100.36x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.36x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,24) size 955x4 - LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,28) size 945x4 - LayoutBlockFlow {DIV} at (0,0) size 100.16x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.16x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,32) size 935x4 - LayoutBlockFlow {DIV} at (0,0) size 100.03x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.03x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,36) size 930x4 - LayoutBlockFlow {DIV} at (0,0) size 100.44x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.44x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,40) size 920x4 - LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.27x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,44) size 910x4 - LayoutBlockFlow {DIV} at (0,0) size 100.09x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.09x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,48) size 910x4 - LayoutBlockFlow {DIV} at (0,0) size 101x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 101x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,52) size 900x4 - LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,56) size 890x4 - LayoutBlockFlow {DIV} at (0,0) size 100.56x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.56x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,60) size 885x4 - LayoutBlockFlow {DIV} at (0,0) size 100.88x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.88x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,64) size 875x4 - LayoutBlockFlow {DIV} at (0,0) size 100.63x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.63x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,68) size 870x4 - LayoutBlockFlow {DIV} at (0,0) size 100.91x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.91x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,72) size 860x4 - LayoutBlockFlow {DIV} at (0,0) size 100.61x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.61x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,76) size 850x4 - LayoutBlockFlow {DIV} at (0,0) size 100.30x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.30x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,80) size 845x4 - LayoutBlockFlow {DIV} at (0,0) size 100.55x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.55x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,84) size 840x4 - LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.80x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,88) size 835x4 - LayoutBlockFlow {DIV} at (0,0) size 101.03x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 101.03x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,92) size 825x4 - LayoutBlockFlow {DIV} at (0,0) size 100.64x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.64x4 [bgcolor=#00000080] LayoutBlockFlow {DIV} at (0,96) size 815x4 - LayoutBlockFlow {DIV} at (0,0) size 100.23x4 [bgcolor=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 100.23x4 [bgcolor=#00000080] LayoutBlockFlow (anonymous) at (0,100) size 784x18 LayoutBR {BR} at (0,0) size 0x17 layer at (8,126) size 784x0 @@ -86,59 +86,59 @@ LayoutTable (positioned) {TABLE} at (0,0) size 1000x20 LayoutTableSection {TBODY} at (0,0) size 1000x20 LayoutTableRow {TR} at (0,0) size 1000x20 - LayoutTableCell {TD} at (0,1) size 12x18 [bgcolor=#0000007F] [r=0 c=0 rs=1 cs=1] + LayoutTableCell {TD} at (0,1) size 12x18 [bgcolor=#00000080] [r=0 c=0 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (12,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=1 rs=1 cs=1] + LayoutTableCell {TD} at (12,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=1 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (22,1) size 14x18 [bgcolor=#0000007F] [r=0 c=2 rs=1 cs=1] + LayoutTableCell {TD} at (22,1) size 14x18 [bgcolor=#00000080] [r=0 c=2 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (36,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=3 rs=1 cs=1] + LayoutTableCell {TD} at (36,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=3 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (46,1) size 16x18 [bgcolor=#0000007F] [r=0 c=4 rs=1 cs=1] + LayoutTableCell {TD} at (46,1) size 16x18 [bgcolor=#00000080] [r=0 c=4 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (62,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=5 rs=1 cs=1] + LayoutTableCell {TD} at (62,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=5 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (72,1) size 18x18 [bgcolor=#0000007F] [r=0 c=6 rs=1 cs=1] + LayoutTableCell {TD} at (72,1) size 18x18 [bgcolor=#00000080] [r=0 c=6 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (90,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=7 rs=1 cs=1] + LayoutTableCell {TD} at (90,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=7 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (100,1) size 20x18 [bgcolor=#0000007F] [r=0 c=8 rs=1 cs=1] + LayoutTableCell {TD} at (100,1) size 20x18 [bgcolor=#00000080] [r=0 c=8 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (120,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=9 rs=1 cs=1] + LayoutTableCell {TD} at (120,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=9 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (130,1) size 22x18 [bgcolor=#0000007F] [r=0 c=10 rs=1 cs=1] + LayoutTableCell {TD} at (130,1) size 22x18 [bgcolor=#00000080] [r=0 c=10 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (152,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=11 rs=1 cs=1] + LayoutTableCell {TD} at (152,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=11 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (162,1) size 24x18 [bgcolor=#0000007F] [r=0 c=12 rs=1 cs=1] + LayoutTableCell {TD} at (162,1) size 24x18 [bgcolor=#00000080] [r=0 c=12 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (186,10) size 10x0 [bgcolor=#00FF007F] [r=0 c=13 rs=1 cs=1] - LayoutTableCell {TD} at (196,1) size 26x18 [bgcolor=#0000007F] [r=0 c=14 rs=1 cs=1] + LayoutTableCell {TD} at (186,10) size 10x0 [bgcolor=#00FF0080] [r=0 c=13 rs=1 cs=1] + LayoutTableCell {TD} at (196,1) size 26x18 [bgcolor=#00000080] [r=0 c=14 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (222,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=15 rs=1 cs=1] + LayoutTableCell {TD} at (222,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=15 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (232,1) size 28x18 [bgcolor=#0000007F] [r=0 c=16 rs=1 cs=1] + LayoutTableCell {TD} at (232,1) size 28x18 [bgcolor=#00000080] [r=0 c=16 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (260,1) size 10x18 [bgcolor=#00FF007F] [r=0 c=17 rs=1 cs=1] + LayoutTableCell {TD} at (260,1) size 10x18 [bgcolor=#00FF0080] [r=0 c=17 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " - LayoutTableCell {TD} at (270,1) size 30x18 [bgcolor=#0000007F] [r=0 c=18 rs=1 cs=1] + LayoutTableCell {TD} at (270,1) size 30x18 [bgcolor=#00000080] [r=0 c=18 rs=1 cs=1] LayoutText {#text} at (0,0) size 4x17 text run at (0,0) width 4: " " LayoutTableCell {TD} at (300,1) size 700x18 [r=0 c=19 rs=1 cs=1]
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.png index d8767d4..5d2f43c2 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.txt index 6671e7d..c57ac15 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.txt
@@ -14,7 +14,7 @@ text run at (102,1) width 78: "text" LayoutText {#text} at (179,1) size 13x53 text run at (179,1) width 13: " " - LayoutInline {SPAN} at (0,0) size 100x53 [color=#0000004C] + LayoutInline {SPAN} at (0,0) size 100x53 [color=#0000004D] LayoutText {#text} at (191,1) size 100x53 text run at (191,1) width 100: "casts" LayoutText {#text} at (290,1) size 13x53
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-styles-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-styles-expected.png index 29359bf..74a6019 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-styles-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-styles-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png index 3834425..3a54ed89 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-expected.png index a87ab03..25004b8 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png index 5bd0ecc..cfe18a93 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png index c72f6c6..e592f920 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png index 6f565fa6..3cb2a65 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png index b420990..7ef03a1 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png index 493a7a6..4a01ef1 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png index b4a3a725..a27a78dc 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png index c75bdc8..5609f191 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/month-picker-appearance-expected.png index f49565a2..d5aff82 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/month-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/month-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/month-picker-appearance-step-expected.png index a5289441..8867267 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/month-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/month-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/week-picker-appearance-expected.png index 9a3b7b2..e8825b9 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/week-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/week-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/week-picker-appearance-step-expected.png index 8c971c6..5a6fded0 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/week-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/calendar-picker/week-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/checkbox/checkbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/checkbox/checkbox-appearance-basic-expected.png index 6df8e97f..d57c299 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/checkbox/checkbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/checkbox/checkbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png index 9da94d7..21858ee 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png index 035243ff..b15cf4d5 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png index 593bbb3..ab49a424 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png index 197523fa..e0d192e3 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/radio/radio-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/radio/radio-appearance-basic-expected.png index e8660e9..388a2001 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/radio/radio-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/radio/radio-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/range/range-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/range/range-appearance-basic-expected.png index a094426..926003e 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/range/range-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/range/range-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/search/search-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/search/search-appearance-basic-expected.png index b8d8926..5e79026 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/search/search-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/search/search-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/listbox-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/listbox-appearance-basic-expected.png index c11da768..2fcfba3 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/listbox-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/listbox-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.png index 28bac72..6ff5e79 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/submit/submit-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/submit/submit-appearance-basic-expected.png index 206812f..89e3875 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/submit/submit-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/submit/submit-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/text/text-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/text/text-appearance-basic-expected.png index f0cb9b2..dcdb860 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/text/text-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/text/text-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/textarea/textarea-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/textarea/textarea-appearance-basic-expected.png index 5d74470..db8fefc3 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/textarea/textarea-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/textarea/textarea-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/gradients/gradient-after-transparent-border-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/gradients/gradient-after-transparent-border-expected.png index 62b379a..e35cfe53 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/gradients/gradient-after-transparent-border-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/gradients/gradient-after-transparent-border-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/overflow/float-in-relpositioned-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/overflow/float-in-relpositioned-expected.png index 5f96462..85551fe 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/overflow/float-in-relpositioned-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/overflow/float-in-relpositioned-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/overflow/float-in-relpositioned-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/overflow/float-in-relpositioned-expected.txt index ab04f1e..d454fe0 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/overflow/float-in-relpositioned-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/overflow/float-in-relpositioned-expected.txt
@@ -29,15 +29,15 @@ LayoutBlockFlow {DIV} at (10,404) size 102x102 [border: (1px solid #000000)] layer at (69,77) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] - LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80] layer at (19,239) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] - LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (floating) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80] layer at (69,301) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] layer at (69,301) size 75x75 backgroundClip at (19,301) size 100x85 clip at (19,301) size 100x85 - LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80] layer at (19,463) size 25x25 LayoutBlockFlow (relative positioned) {DIV} at (1,1) size 25x25 [bgcolor=#000000] layer at (19,463) size 75x75 backgroundClip at (19,413) size 85x100 clip at (19,413) size 85x100 - LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF7F] + LayoutBlockFlow (positioned) {DIV} at (0,0) size 75x75 [bgcolor=#0000FF80]
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-no-blur-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-no-blur-expected.png index 470956a..2c6516be 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-no-blur-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-no-blur-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-no-blur-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-no-blur-expected.txt index 3d0e4b8..2aa7b50 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-no-blur-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-no-blur-expected.txt
@@ -3,7 +3,7 @@ layer at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x600 LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {DIV} at (0,0) size 784x275 [color=#0000007F] + LayoutBlockFlow {DIV} at (0,0) size 784x275 [color=#00000080] LayoutBlockFlow {DIV} at (0,0) size 784x55 LayoutText {#text} at (0,1) size 244x53 text run at (0,1) width 244: "Text shadow"
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-translucent-fill-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-translucent-fill-expected.png index 8962e82..68fae62 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-translucent-fill-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-translucent-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-translucent-fill-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-translucent-fill-expected.txt index 033a353..75f9191 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-translucent-fill-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/fast/text/shadow-translucent-fill-expected.txt
@@ -15,7 +15,7 @@ text run at (48,0) width 24: "A" LayoutText {#text} at (72,0) size 24x24 text run at (72,0) width 24: " " - LayoutInline {SPAN} at (0,0) size 24x24 [color=#00000019] + LayoutInline {SPAN} at (0,0) size 24x24 [color=#0000001A] LayoutText {#text} at (96,0) size 24x24 text run at (96,0) width 24: "A" LayoutText {#text} at (0,0) size 0x0 @@ -30,7 +30,7 @@ text run at (48,0) width 24: "A" LayoutText {#text} at (72,0) size 24x24 text run at (72,0) width 24: " " - LayoutInline {SPAN} at (0,0) size 24x24 [color=#00000019] + LayoutInline {SPAN} at (0,0) size 24x24 [color=#0000001A] LayoutText {#text} at (96,0) size 24x24 text run at (96,0) width 24: "A" LayoutText {#text} at (0,0) size 0x0 @@ -45,7 +45,7 @@ text run at (48,0) width 24: "A" LayoutText {#text} at (72,0) size 24x24 text run at (72,0) width 24: " " - LayoutInline {SPAN} at (0,0) size 24x24 [color=#00000019] + LayoutInline {SPAN} at (0,0) size 24x24 [color=#0000001A] LayoutText {#text} at (96,0) size 24x24 text run at (96,0) width 24: "A" LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/text/text-fill-opacity-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/text/text-fill-opacity-expected.png index ee727c7..d5b7860 100644 --- a/third_party/WebKit/LayoutTests/platform/win/svg/text/text-fill-opacity-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/svg/text/text-fill-opacity-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png index 91b2882..199dfd8 100644 --- a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt index 5fdfde2a..9336a319 100644 --- a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt
@@ -35,4 +35,4 @@ layer at (124,114) size 100x100 LayoutBlockFlow (relative positioned) {DIV} at (51,51) size 100x100 [bgcolor=#0000FF] layer at (22,22) size 150x300 - LayoutBlockFlow (positioned) {DIV} at (1,1) size 150x300 [bgcolor=#0080004C] + LayoutBlockFlow (positioned) {DIV} at (1,1) size 150x300 [bgcolor=#0080004D]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png index b24c587..435d4ad 100644 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png index 2ee3fbd..fe3c4887 100644 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-expected.png index ee5b675..a32db9af 100644 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png index 1ccb0a30..c154c192 100644 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-content-under-overflow-controls-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-content-under-overflow-controls-expected.png index 8695e80..797fa6c 100644 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-content-under-overflow-controls-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-content-under-overflow-controls-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png index 11a0ec7e..983898d 100644 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png index 1547bd8a..ee2eec1 100644 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png index 1547bd8a..ee2eec1 100644 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/threaded/compositing/webgl/webgl-background-color-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/threaded/compositing/webgl/webgl-background-color-expected.png new file mode 100644 index 0000000..6c8ec4a --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/threaded/compositing/webgl/webgl-background-color-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt new file mode 100644 index 0000000..61d6fc5c --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/threaded/compositing/webgl/webgl-background-color-expected.txt
@@ -0,0 +1,13 @@ +layer at (0,0) size 800x600 + LayoutView at (0,0) size 800x600 +layer at (0,0) size 800x534 + LayoutBlockFlow {HTML} at (0,0) size 800x534 + LayoutBlockFlow {BODY} at (8,20) size 784x498 + LayoutBlockFlow {DIV} at (20,0) size 240x200 [bgcolor=#00008080] + LayoutBlockFlow (anonymous) at (0,220) size 784x244 + LayoutText {#text} at (0,0) size 0x0 + LayoutBlockFlow {P} at (0,480) size 784x18 + LayoutText {#text} at (0,0) size 245x17 + text run at (0,0) width 245: "Top and bottom should look the same." +layer at (28,260) size 240x200 + LayoutHTMLCanvas {CANVAS} at (20,20) size 240x200 [bgcolor=#00008080]
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png index e8ed24a..c28df2e 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-expected.png index d2f13633..c3ded87 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png index b8e4ed2c..b28a209 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png index d7e4073..a251322 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png index 1dccbe8c..945e866b 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png index 24910ad9..84fce83 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png index 2517ddf..d068c97 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png index 14915c0..766ecd0f 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-expected.png index e2ab42fd..64ed178 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-step-expected.png index ea256e2..b1693f2d 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-expected.png index 54421dd..5c6c24c 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-step-expected.png index 473e365..33aae082 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-step-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-step-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/search/search-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/search/search-appearance-basic-expected.png index 5c4b1dd..839f0c66 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/search/search-appearance-basic-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/search/search-appearance-basic-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/text/shadow-no-blur-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/text/shadow-no-blur-expected.png index f5f2faece..461f900 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/text/shadow-no-blur-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/text/shadow-no-blur-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png index 5a797a7..f22338b 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png index c7edfca..be5a1ac 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png index c7edfca..be5a1ac 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/scrollbars/custom-scrollbar-display-expected.png b/third_party/WebKit/LayoutTests/scrollbars/custom-scrollbar-display-expected.png index b08fbd2..b90661b3 100644 --- a/third_party/WebKit/LayoutTests/scrollbars/custom-scrollbar-display-expected.png +++ b/third_party/WebKit/LayoutTests/scrollbars/custom-scrollbar-display-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/custom/fill-opacity-rgba-expected.png b/third_party/WebKit/LayoutTests/svg/custom/fill-opacity-rgba-expected.png index ebe463be..01d5d2225 100644 --- a/third_party/WebKit/LayoutTests/svg/custom/fill-opacity-rgba-expected.png +++ b/third_party/WebKit/LayoutTests/svg/custom/fill-opacity-rgba-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/custom/fill-opacity-rgba-expected.txt b/third_party/WebKit/LayoutTests/svg/custom/fill-opacity-rgba-expected.txt index 5fa08b8..d720c5e 100644 --- a/third_party/WebKit/LayoutTests/svg/custom/fill-opacity-rgba-expected.txt +++ b/third_party/WebKit/LayoutTests/svg/custom/fill-opacity-rgba-expected.txt
@@ -2,4 +2,4 @@ LayoutView at (0,0) size 800x600 layer at (0,0) size 100x100 LayoutSVGRoot {svg} at (0,0) size 100x100 - LayoutSVGRect {rect} at (20,20) size 60x60 [fill={[type=SOLID] [color=#00FF007F]}] [x=20.00] [y=20.00] [width=60.00] [height=60.00] + LayoutSVGRect {rect} at (20,20) size 60x60 [fill={[type=SOLID] [color=#00FF0080]}] [x=20.00] [y=20.00] [width=60.00] [height=60.00]
diff --git a/third_party/WebKit/LayoutTests/svg/filters/feBlend-all-modes-expected.png b/third_party/WebKit/LayoutTests/svg/filters/feBlend-all-modes-expected.png index 0c553f2..c46c5bb 100644 --- a/third_party/WebKit/LayoutTests/svg/filters/feBlend-all-modes-expected.png +++ b/third_party/WebKit/LayoutTests/svg/filters/feBlend-all-modes-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/filters/feBlend-all-modes-expected.txt b/third_party/WebKit/LayoutTests/svg/filters/feBlend-all-modes-expected.txt index 42213205..ce62c02d 100644 --- a/third_party/WebKit/LayoutTests/svg/filters/feBlend-all-modes-expected.txt +++ b/third_party/WebKit/LayoutTests/svg/filters/feBlend-all-modes-expected.txt
@@ -233,112 +233,112 @@ LayoutSVGRoot {svg} at (0,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_normal"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="normal"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_normal"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (50,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_multiply"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="multiply"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_multiply"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (100,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_screen"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="screen"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_screen"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (150,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_darken"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="darken"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_darken"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (200,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_lighten"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="lighten"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_lighten"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (250,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_overlay"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="overlay"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_overlay"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (300,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_color-dodge"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="color-dodge"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_color-dodge"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (350,0) size 50x50 LayoutSVGResourceFilter {filter} [id="f_color-burn"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="color-burn"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_color-burn"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (0,54) size 50x50 LayoutSVGResourceFilter {filter} [id="f_hard-light"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="hard-light"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_hard-light"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (50,54) size 50x50 LayoutSVGResourceFilter {filter} [id="f_soft-light"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="soft-light"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_soft-light"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (100,54) size 50x50 LayoutSVGResourceFilter {filter} [id="f_difference"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="difference"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_difference"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (150,54) size 50x50 LayoutSVGResourceFilter {filter} [id="f_exclusion"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="exclusion"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_exclusion"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (200,54) size 50x50 LayoutSVGResourceFilter {filter} [id="f_hue"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="hue"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_hue"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (250,54) size 50x50 LayoutSVGResourceFilter {filter} [id="f_saturation"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="saturation"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_saturation"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (300,54) size 50x50 LayoutSVGResourceFilter {filter} [id="f_color"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="color"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_color"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50 LayoutSVGRoot {svg} at (350,54) size 50x50 LayoutSVGResourceFilter {filter} [id="f_luminosity"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse] [feBlend mode="luminosity"] - [feFlood flood-color="#3340CC7F" flood-opacity="1.00"] - [feFlood flood-color="#99C0667F" flood-opacity="1.00"] + [feFlood flood-color="#3340CC80" flood-opacity="1.00"] + [feFlood flood-color="#99C06680" flood-opacity="1.00"] LayoutSVGRect {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00] [filter="f_luminosity"] LayoutSVGResourceFilter {filter} at (0,0) size 50x50
diff --git a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-arc-circumference-expected.png b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-arc-circumference-expected.png index add9872..7ecb23a 100644 --- a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-arc-circumference-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-arc-circumference-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-arc-circumference-fill-expected.png b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-arc-circumference-fill-expected.png index ab2c454b..bcc8bcb 100644 --- a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-arc-circumference-fill-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-arc-circumference-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-transformclip-expected.png b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-transformclip-expected.png index 84f0a116..2dcbcbf 100644 --- a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-transformclip-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-composite-transformclip-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-circumference-expected.png b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-circumference-expected.png index 603b5c8..079d827 100644 --- a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-circumference-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-circumference-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-circumference-fill-expected.png b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-circumference-fill-expected.png index 439fccc..f0a34f66 100644 --- a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-circumference-fill-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-circumference-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/toDataURL-alpha-stability-expected.png b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/toDataURL-alpha-stability-expected.png index d75e03b..78f1c74 100644 --- a/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/toDataURL-alpha-stability-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/toDataURL-alpha-stability-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png index 4ed1c61..f92a57dd 100644 --- a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png index 7802c19..8aabedc6 100644 --- a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png index 123074d..dae93154 100644 --- a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png index 1ad6b09..6bf295d4 100644 --- a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png index 68cc02d..5171812e 100644 --- a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-fillPath-shadow-expected.txt b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-fillPath-shadow-expected.txt index a96920c2..d494c5a 100644 --- a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-fillPath-shadow-expected.txt +++ b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-fillPath-shadow-expected.txt
@@ -4,16 +4,16 @@ PASS data[0] is 255 -FAIL data[1] should be 20. Was 21. +PASS data[1] is 20 PASS data[2] is 0 PASS data[0] is 255 -FAIL data[1] should be 20. Was 21. +PASS data[1] is 20 PASS data[2] is 0 PASS data[0] is 255 PASS data[1] is within 3 of 20 PASS data[2] is 0 PASS data[0] is 255 -FAIL data[1] should be 20. Was 21. +PASS data[1] is 20 PASS data[2] is 0 PASS data[0] is 255 PASS data[1] is 0
diff --git a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/toDataURL-alpha-stability-expected.png b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/toDataURL-alpha-stability-expected.png index d75e03b..78f1c74 100644 --- a/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/toDataURL-alpha-stability-expected.png +++ b/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/toDataURL-alpha-stability-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt index 3dcfc7b..86a7938 100644 --- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt +++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt
@@ -12,7 +12,7 @@ "bounds": [308, 208], "shouldFlattenTransform": false, "drawsContent": true, - "backgroundColor": "#00FF007F" + "backgroundColor": "#00FF0080" }, { "name": "Scrolling Layer", @@ -60,7 +60,7 @@ "position": [10, 10], "bounds": [100, 100], "drawsContent": true, - "backgroundColor": "#FF00007F" + "backgroundColor": "#FF000080" }, { "name": "Squashing Containment Layer", @@ -72,7 +72,7 @@ "position": [22, 102], "bounds": [100, 100], "drawsContent": true, - "backgroundColor": "#0000FF7F" + "backgroundColor": "#0000FF80" }, { "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (relative positioned) DIV class='box')",
diff --git a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt index ecad6fe..697be95 100644 --- a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt +++ b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
@@ -4616,6 +4616,9 @@ method getEntries method getEntriesByName method getEntriesByType +interface PerformancePaintTiming : PerformanceEntry + attribute @@toStringTag + method constructor interface PerformanceResourceTiming : PerformanceEntry attribute @@toStringTag getter connectEnd
diff --git a/third_party/WebKit/Source/core/core_idl_files.gni b/third_party/WebKit/Source/core/core_idl_files.gni index 8dfad6f..6f99d69 100644 --- a/third_party/WebKit/Source/core/core_idl_files.gni +++ b/third_party/WebKit/Source/core/core_idl_files.gni
@@ -400,6 +400,7 @@ "timing/PerformanceNavigationTiming.idl", "timing/PerformanceObserver.idl", "timing/PerformanceObserverEntryList.idl", + "timing/PerformancePaintTiming.idl", "timing/PerformanceResourceTiming.idl", "timing/PerformanceTiming.idl", "timing/TaskAttributionTiming.idl",
diff --git a/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp b/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp index d7c12f4..2f16c13c 100644 --- a/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp +++ b/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp
@@ -369,8 +369,10 @@ } if (isTenthAlpha(string, length - 1)) { - static const int tenthAlphaValues[] = {0, 25, 51, 76, 102, - 127, 153, 179, 204, 230}; + // Fast conversions for 0.1 steps of alpha values between 0.0 and 0.9, + // where 0.1 alpha is value 26 (25.5 rounded) and so on. + static const int tenthAlphaValues[] = {0, 26, 51, 77, 102, + 128, 153, 179, 204, 230}; value = negative ? 0 : tenthAlphaValues[string[length - 2] - '0']; string = end; return true; @@ -379,9 +381,8 @@ double alpha = 0; if (!parseDouble(string, end, terminator, alpha)) return false; - value = negative - ? 0 - : static_cast<int>(std::min(alpha, 1.0) * nextafter(256.0, 0.0)); + value = + negative ? 0 : static_cast<int>(roundf(std::min(alpha, 1.0) * 255.0f)); string = end; return true; }
diff --git a/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp b/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp index b63c13b..c065390 100644 --- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp +++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp
@@ -420,10 +420,9 @@ double alpha; if (!consumeNumberRaw(args, alpha)) return false; - // Convert the floating pointer number of alpha to an integer in the range - // [0, 256), with an equal distribution across all 256 values. - int alphaComponent = static_cast<int>(clampTo<double>(alpha, 0.0, 1.0) * - nextafter(256.0, 0.0)); + // W3 standard stipulates a 2.55 alpha value multiplication factor. + int alphaComponent = + static_cast<int>(lroundf(clampTo<double>(alpha, 0.0, 1.0) * 255.0f)); result = makeRGBA(colorArray[0], colorArray[1], colorArray[2], alphaComponent); } else {
diff --git a/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp b/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp index 449c25fc..7f11fb7e 100644 --- a/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp +++ b/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp
@@ -67,9 +67,7 @@ m_resource->setLoader(this); } -ResourceLoader::~ResourceLoader() { - DCHECK(!m_loader); -} +ResourceLoader::~ResourceLoader() {} DEFINE_TRACE(ResourceLoader) { visitor->trace(m_fetcher); @@ -493,6 +491,10 @@ encodedBodyLength); } +void ResourceLoader::dispose() { + m_loader = nullptr; +} + void ResourceLoader::activateCacheAwareLoadingIfNeeded( const ResourceRequest& request) { DCHECK(!m_isCacheAwareLoadingActivated);
diff --git a/third_party/WebKit/Source/core/fetch/ResourceLoader.h b/third_party/WebKit/Source/core/fetch/ResourceLoader.h index b836a46..c8f0261 100644 --- a/third_party/WebKit/Source/core/fetch/ResourceLoader.h +++ b/third_party/WebKit/Source/core/fetch/ResourceLoader.h
@@ -51,6 +51,8 @@ class CORE_EXPORT ResourceLoader final : public GarbageCollectedFinalized<ResourceLoader>, protected WebURLLoaderClient { + USING_PRE_FINALIZER(ResourceLoader, dispose); + public: static ResourceLoader* create(ResourceFetcher*, Resource*); ~ResourceLoader() override; @@ -121,6 +123,7 @@ void cancelForRedirectAccessCheckError(const KURL&, ResourceRequestBlockedReason); void requestSynchronously(const ResourceRequest&); + void dispose(); std::unique_ptr<WebURLLoader> m_loader; Member<ResourceFetcher> m_fetcher;
diff --git a/third_party/WebKit/Source/core/frame/UseCounter.h b/third_party/WebKit/Source/core/frame/UseCounter.h index ed95a79f..20f5296 100644 --- a/third_party/WebKit/Source/core/frame/UseCounter.h +++ b/third_party/WebKit/Source/core/frame/UseCounter.h
@@ -1421,6 +1421,10 @@ TopNavInSandboxWithPerm = 1751, TopNavInSandboxWithPermButNoGesture = 1752, ReferrerPolicyHeader = 1753, + HTMLAnchorElementReferrerPolicyAttribute = 1754, + HTMLIFrameElementReferrerPolicyAttribute = 1755, + HTMLImageElementReferrerPolicyAttribute = 1756, + HTMLLinkElementReferrerPolicyAttribute = 1757, // Add new features immediately above this line. Don't change assigned // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp b/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp index f8cd9b3..70bb5a0 100644 --- a/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp +++ b/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp
@@ -415,6 +415,8 @@ SecurityPolicy::referrerPolicyFromStringWithLegacyKeywords( fastGetAttribute(referrerpolicyAttr), &policy) && !hasRel(RelationNoReferrer)) { + UseCounter::count(document(), + UseCounter::HTMLAnchorElementReferrerPolicyAttribute); request.setHTTPReferrer(SecurityPolicy::generateReferrer( policy, completedURL, document().outgoingReferrer())); }
diff --git a/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp b/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp index 5f44a258..6f13781c 100644 --- a/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp +++ b/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp
@@ -113,9 +113,12 @@ UseCounter::count(document(), UseCounter::SandboxViaIFrame); } else if (name == referrerpolicyAttr) { m_referrerPolicy = ReferrerPolicyDefault; - if (!value.isNull()) + if (!value.isNull()) { SecurityPolicy::referrerPolicyFromStringWithLegacyKeywords( value, &m_referrerPolicy); + UseCounter::count(document(), + UseCounter::HTMLIFrameElementReferrerPolicyAttribute); + } } else if (name == allowfullscreenAttr) { bool oldAllowFullscreen = m_allowFullscreen; m_allowFullscreen = !value.isNull();
diff --git a/third_party/WebKit/Source/core/html/HTMLImageElement.cpp b/third_party/WebKit/Source/core/html/HTMLImageElement.cpp index 3ad649b..84a2646 100644 --- a/third_party/WebKit/Source/core/html/HTMLImageElement.cpp +++ b/third_party/WebKit/Source/core/html/HTMLImageElement.cpp
@@ -267,6 +267,8 @@ if (!params.newValue.isNull()) { SecurityPolicy::referrerPolicyFromStringWithLegacyKeywords( params.newValue, &m_referrerPolicy); + UseCounter::count(document(), + UseCounter::HTMLImageElementReferrerPolicyAttribute); } } else { HTMLElement::parseAttribute(params);
diff --git a/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp b/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp index bf6ddbe..d564e57 100644 --- a/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp +++ b/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp
@@ -82,8 +82,11 @@ process(); } else if (name == referrerpolicyAttr) { m_referrerPolicy = ReferrerPolicyDefault; - if (!value.isNull()) + if (!value.isNull()) { SecurityPolicy::referrerPolicyFromString(value, &m_referrerPolicy); + UseCounter::count(document(), + UseCounter::HTMLLinkElementReferrerPolicyAttribute); + } } else if (name == sizesAttr) { m_sizes->setValue(value); } else if (name == mediaAttr) {
diff --git a/third_party/WebKit/Source/core/paint/PaintTiming.cpp b/third_party/WebKit/Source/core/paint/PaintTiming.cpp index 09a950d..25ef6f72 100644 --- a/third_party/WebKit/Source/core/paint/PaintTiming.cpp +++ b/third_party/WebKit/Source/core/paint/PaintTiming.cpp
@@ -6,13 +6,28 @@ #include "core/dom/Document.h" #include "core/frame/FrameView.h" +#include "core/frame/LocalDOMWindow.h" #include "core/frame/LocalFrame.h" #include "core/loader/DocumentLoader.h" +#include "core/timing/DOMWindowPerformance.h" +#include "core/timing/Performance.h" #include "platform/WebFrameScheduler.h" #include "platform/instrumentation/tracing/TraceEvent.h" namespace blink { +namespace { + +Performance* getPerformanceInstance(LocalFrame* frame) { + Performance* performance = nullptr; + if (frame && frame->domWindow()) { + performance = DOMWindowPerformance::performance(*frame->domWindow()); + } + return performance; +} + +} // namespace + static const char kSupplementName[] = "PaintTiming"; PaintTiming& PaintTiming::from(Document& document) { @@ -120,6 +135,10 @@ if (m_firstPaint != 0.0) return; m_firstPaint = stamp; + Performance* performance = getPerformanceInstance(frame()); + if (performance) + performance->addFirstPaintTiming(m_firstPaint); + TRACE_EVENT_INSTANT1("blink.user_timing,rail", "firstPaint", TRACE_EVENT_SCOPE_PROCESS, "frame", frame()); } @@ -129,6 +148,9 @@ return; setFirstPaint(stamp); m_firstContentfulPaint = stamp; + Performance* performance = getPerformanceInstance(frame()); + if (performance) + performance->addFirstContentfulPaintTiming(m_firstContentfulPaint); TRACE_EVENT_INSTANT1("blink.user_timing,rail", "firstContentfulPaint", TRACE_EVENT_SCOPE_PROCESS, "frame", frame()); }
diff --git a/third_party/WebKit/Source/core/timing/BUILD.gn b/third_party/WebKit/Source/core/timing/BUILD.gn index d7a94fa..dadc3ad 100644 --- a/third_party/WebKit/Source/core/timing/BUILD.gn +++ b/third_party/WebKit/Source/core/timing/BUILD.gn
@@ -27,6 +27,8 @@ "PerformanceObserver.h", "PerformanceObserverEntryList.cpp", "PerformanceObserverEntryList.h", + "PerformancePaintTiming.cpp", + "PerformancePaintTiming.h", "PerformanceResourceTiming.cpp", "PerformanceResourceTiming.h", "PerformanceTiming.cpp",
diff --git a/third_party/WebKit/Source/core/timing/PerformanceBase.cpp b/third_party/WebKit/Source/core/timing/PerformanceBase.cpp index df50c03..462a8b84 100644 --- a/third_party/WebKit/Source/core/timing/PerformanceBase.cpp +++ b/third_party/WebKit/Source/core/timing/PerformanceBase.cpp
@@ -157,9 +157,11 @@ if (m_userTiming) entries.appendVector(m_userTiming->getMeasures()); break; - // Unsupported for LongTask, TaskAttribution. + // Unsupported for Paint, LongTask, TaskAttribution. // Per the spec, these entries can only be accessed via // Performance Observer. No separate buffer is maintained. + case PerformanceEntry::Paint: + break; case PerformanceEntry::LongTask: break; case PerformanceEntry::TaskAttribution: @@ -400,6 +402,24 @@ notifyObserversOfEntry(*m_navigationTiming); } +void PerformanceBase::addFirstPaintTiming(double startTime) { + addPaintTiming(PerformancePaintTiming::PaintType::FirstPaint, startTime); +} + +void PerformanceBase::addFirstContentfulPaintTiming(double startTime) { + addPaintTiming(PerformancePaintTiming::PaintType::FirstContentfulPaint, + startTime); +} + +void PerformanceBase::addPaintTiming(PerformancePaintTiming::PaintType type, + double startTime) { + if (!RuntimeEnabledFeatures::performancePaintTimingEnabled()) + return; + PerformanceEntry* entry = new PerformancePaintTiming( + type, monotonicTimeToDOMHighResTimeStamp(startTime)); + notifyObserversOfEntry(*entry); +} + void PerformanceBase::addResourceTimingBuffer(PerformanceEntry& entry) { m_resourceTimingBuffer.push_back(&entry); @@ -557,7 +577,8 @@ return 0.0; double timeInSeconds = monotonicTime - timeOrigin; - DCHECK_GE(timeInSeconds, 0); + if (timeInSeconds < 0) + return 0.0; return convertSecondsToDOMHighResTimeStamp( clampTimeResolution(timeInSeconds)); }
diff --git a/third_party/WebKit/Source/core/timing/PerformanceBase.h b/third_party/WebKit/Source/core/timing/PerformanceBase.h index 508f492b..db35f6c8 100644 --- a/third_party/WebKit/Source/core/timing/PerformanceBase.h +++ b/third_party/WebKit/Source/core/timing/PerformanceBase.h
@@ -38,6 +38,7 @@ #include "core/loader/FrameLoaderTypes.h" #include "core/timing/PerformanceEntry.h" #include "core/timing/PerformanceNavigationTiming.h" +#include "core/timing/PerformancePaintTiming.h" #include "platform/Timer.h" #include "platform/heap/Handle.h" #include "wtf/Forward.h" @@ -113,6 +114,10 @@ void addNavigationTiming(LocalFrame*); + void addFirstPaintTiming(double startTime); + + void addFirstContentfulPaintTiming(double startTime); + void mark(const String& markName, ExceptionState&); void clearMarks(const String& markName); @@ -145,6 +150,8 @@ const AtomicString&, ExecutionContext*); + void addPaintTiming(PerformancePaintTiming::PaintType, double startTime); + protected: explicit PerformanceBase(double timeOrigin);
diff --git a/third_party/WebKit/Source/core/timing/PerformanceEntry.cpp b/third_party/WebKit/Source/core/timing/PerformanceEntry.cpp index 46791f12..a67298e 100644 --- a/third_party/WebKit/Source/core/timing/PerformanceEntry.cpp +++ b/third_party/WebKit/Source/core/timing/PerformanceEntry.cpp
@@ -81,6 +81,8 @@ return Navigation; if (entryType == "taskattribution") return TaskAttribution; + if (entryType == "paint") + return Paint; return Invalid; }
diff --git a/third_party/WebKit/Source/core/timing/PerformanceEntry.h b/third_party/WebKit/Source/core/timing/PerformanceEntry.h index 06e7a923..e3b7574 100644 --- a/third_party/WebKit/Source/core/timing/PerformanceEntry.h +++ b/third_party/WebKit/Source/core/timing/PerformanceEntry.h
@@ -44,8 +44,8 @@ class ScriptValue; class V8ObjectBuilder; -using PerformanceEntryType = unsigned char; -using PerformanceEntryTypeMask = unsigned char; +using PerformanceEntryType = unsigned; +using PerformanceEntryTypeMask = unsigned; class CORE_EXPORT PerformanceEntry : public GarbageCollectedFinalized<PerformanceEntry>, @@ -55,7 +55,7 @@ public: virtual ~PerformanceEntry(); - enum EntryType { + enum EntryType : PerformanceEntryType { Invalid = 0, Navigation = 1 << 0, Composite = 1 << 1, @@ -65,6 +65,7 @@ Resource = 1 << 5, LongTask = 1 << 6, TaskAttribution = 1 << 7, + Paint = 1 << 8 }; String name() const; @@ -87,7 +88,7 @@ return a->startTime() < b->startTime(); } - static EntryType toEntryTypeEnum(const String& entryType); + static PerformanceEntry::EntryType toEntryTypeEnum(const String& entryType); DEFINE_INLINE_VIRTUAL_TRACE() {}
diff --git a/third_party/WebKit/Source/core/timing/PerformancePaintTiming.cpp b/third_party/WebKit/Source/core/timing/PerformancePaintTiming.cpp new file mode 100644 index 0000000..590ad85 --- /dev/null +++ b/third_party/WebKit/Source/core/timing/PerformancePaintTiming.cpp
@@ -0,0 +1,29 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "core/timing/PerformancePaintTiming.h" + +#include "bindings/core/v8/V8ObjectBuilder.h" + +namespace blink { + +PerformancePaintTiming::PerformancePaintTiming(PaintType type, double startTime) + : PerformanceEntry(fromPaintTypeToString(type), + "paint", + startTime, + startTime) {} + +PerformancePaintTiming::~PerformancePaintTiming() {} + +String PerformancePaintTiming::fromPaintTypeToString(PaintType type) { + switch (type) { + case PaintType::FirstPaint: + return "first-paint"; + case PaintType::FirstContentfulPaint: + return "first-contentful-paint"; + } + NOTREACHED(); + return ""; +} +} // namespace blink
diff --git a/third_party/WebKit/Source/core/timing/PerformancePaintTiming.h b/third_party/WebKit/Source/core/timing/PerformancePaintTiming.h new file mode 100644 index 0000000..b448f5d --- /dev/null +++ b/third_party/WebKit/Source/core/timing/PerformancePaintTiming.h
@@ -0,0 +1,26 @@ +// 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 PerformancePaintTiming_h +#define PerformancePaintTiming_h + +#include "core/CoreExport.h" +#include "core/timing/PerformanceEntry.h" + +namespace blink { + +class CORE_EXPORT PerformancePaintTiming final : public PerformanceEntry { + DEFINE_WRAPPERTYPEINFO(); + + public: + enum class PaintType { FirstPaint, FirstContentfulPaint }; + + PerformancePaintTiming(PaintType, double startTime); + ~PerformancePaintTiming() override; + + static String fromPaintTypeToString(PaintType); +}; +} // namespace blink + +#endif // PerformancePaintTiming_h
diff --git a/third_party/WebKit/Source/core/timing/PerformancePaintTiming.idl b/third_party/WebKit/Source/core/timing/PerformancePaintTiming.idl new file mode 100644 index 0000000..d2209281 --- /dev/null +++ b/third_party/WebKit/Source/core/timing/PerformancePaintTiming.idl
@@ -0,0 +1,10 @@ +// 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. + +// https://github.com/WICG/paint-timing + +[ + RuntimeEnabled=PerformancePaintTiming, +] interface PerformancePaintTiming : PerformanceEntry { +};
diff --git a/third_party/WebKit/Source/devtools/.eslintignore b/third_party/WebKit/Source/devtools/.eslintignore index 38702d3..5c62be0 100644 --- a/third_party/WebKit/Source/devtools/.eslintignore +++ b/third_party/WebKit/Source/devtools/.eslintignore
@@ -7,6 +7,6 @@ front_end/cm_web_modes/* front_end/diff/diff_match_patch.js front_end/formatter_worker/acorn/acorn.js -front_end/gonzales/* +front_end/gonzales/gonzales-scss.js front_end/terminal/xterm.js/** front_end/protocol_externs.js
diff --git a/third_party/WebKit/Source/devtools/BUILD.gn b/third_party/WebKit/Source/devtools/BUILD.gn index 40ed53a..bd9913a 100644 --- a/third_party/WebKit/Source/devtools/BUILD.gn +++ b/third_party/WebKit/Source/devtools/BUILD.gn
@@ -88,6 +88,7 @@ "front_end/cm_web_modes/htmlmixed.js", "front_end/cm_web_modes/javascript.js", "front_end/cm_web_modes/xml.js", + "front_end/color_picker/module.json", "front_end/color_picker/spectrum.css", "front_end/color_picker/Spectrum.js", "front_end/common/CharacterIdMap.js", @@ -147,12 +148,14 @@ "front_end/console/ConsoleViewport.js", "front_end/console/module.json", "front_end/cookie_table/CookiesTable.js", + "front_end/cookie_table/module.json", "front_end/css_tracker/cssTrackerView.css", "front_end/css_tracker/CSSTrackerView.js", "front_end/css_tracker/module.json", "front_end/css_tracker/unusedRulesTree.css", "front_end/data_grid/dataGrid.css", "front_end/data_grid/DataGrid.js", + "front_end/data_grid/module.json", "front_end/data_grid/ShowMoreDataGridNode.js", "front_end/data_grid/SortableDataGrid.js", "front_end/data_grid/ViewportDataGrid.js", @@ -235,6 +238,8 @@ "front_end/gonzales/gonzales-scss.js", "front_end/gonzales/module.json", "front_end/gonzales/SCSSParser.js", + "front_end/heap_snapshot_model/HeapSnapshotModel.js", + "front_end/heap_snapshot_model/module.json", "front_end/heap_snapshot_worker.js", "front_end/heap_snapshot_worker.json", "front_end/heap_snapshot_worker/AllocationProfile.js", @@ -258,6 +263,7 @@ "front_end/inline_editor/cssShadowEditor.css", "front_end/inline_editor/CSSShadowEditor.js", "front_end/inline_editor/cssShadowSwatch.css", + "front_end/inline_editor/module.json", "front_end/inline_editor/SwatchPopoverHelper.js", "front_end/inspector.js", "front_end/inspector.json", @@ -331,6 +337,7 @@ "front_end/perf_ui/flameChart.css", "front_end/perf_ui/FlameChart.js", "front_end/perf_ui/LineLevelProfile.js", + "front_end/perf_ui/module.json", "front_end/perf_ui/overviewGrid.css", "front_end/perf_ui/OverviewGrid.js", "front_end/perf_ui/pieChart.css", @@ -350,7 +357,6 @@ "front_end/profiler/CPUProfileView.js", "front_end/profiler/heapProfiler.css", "front_end/profiler/HeapProfileView.js", - "front_end/profiler/HeapSnapshotCommon.js", "front_end/profiler/HeapSnapshotDataGrids.js", "front_end/profiler/HeapSnapshotGridNodes.js", "front_end/profiler/HeapSnapshotProxy.js", @@ -366,9 +372,11 @@ "front_end/profiler/TargetsComboBoxController.js", "front_end/profiler/TopDownProfileDataGrid.js", "front_end/protocol/InspectorBackend.js", + "front_end/protocol/module.json", "front_end/quick_open/CommandMenu.js", "front_end/quick_open/filteredListWidget.css", "front_end/quick_open/FilteredListWidget.js", + "front_end/quick_open/module.json", "front_end/resources/ApplicationCacheItemsView.js", "front_end/resources/appManifestView.css", "front_end/resources/AppManifestView.js", @@ -801,6 +809,7 @@ "$resources_out_dir/devices/devices_module.js", "$resources_out_dir/diff/diff_module.js", "$resources_out_dir/elements/elements_module.js", + "$resources_out_dir/heap_snapshot_model/heap_snapshot_model_module.js", "$resources_out_dir/inline_editor/inline_editor_module.js", "$resources_out_dir/layer_viewer/layer_viewer_module.js", "$resources_out_dir/layers/layers_module.js",
diff --git a/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js b/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js index c600477..21f0f97 100644 --- a/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js +++ b/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js
@@ -137,7 +137,7 @@ */ static valueElementForFunctionDescription(description, includePreview, defaultName) { var valueElement = createElementWithClass('span', 'object-value-function'); - var text = description.replace(/^function [gs]et /, 'function '); + var text = description ? description.replace(/^function [gs]et /, 'function ') : ''; defaultName = defaultName || ''; // This set of best-effort regular expressions captures common function descriptions. @@ -181,6 +181,7 @@ } else { addElements('function', text, nameAndArguments(text)); } + valueElement.title = description || ''; return valueElement; /** @@ -238,84 +239,91 @@ * @return {!Element} */ static createValueElement(value, wasThrown, parentElement, linkifier) { - var valueElement = createElementWithClass('span', 'value'); + var valueElement; var type = value.type; var subtype = value.subtype; var description = value.description; - var prefix; - var valueText; - var suffix; - if (wasThrown) { - prefix = '[Exception: '; - valueText = description; - suffix = ']'; - } else if (type === 'string' && typeof description === 'string') { - // Render \n as a nice unicode cr symbol. - prefix = '"'; - valueText = description.replace(/\n/g, '\u21B5'); - suffix = '"'; - } else if (type !== 'object' || subtype !== 'node') { - valueText = description; - } - - if (type === 'function') { - valueElement = Components.ObjectPropertiesSection.valueElementForFunctionDescription(description); - } else if (type !== 'number' || valueText.indexOf('e') === -1) { - valueElement.setTextContentTruncatedIfNeeded(valueText || ''); - if (prefix) - valueElement.insertBefore(createTextNode(prefix), valueElement.firstChild); - if (suffix) - valueElement.createTextChild(suffix); - } else { - var numberParts = valueText.split('e'); - var mantissa = valueElement.createChild('span', 'object-value-scientific-notation-mantissa'); - mantissa.textContent = numberParts[0]; - var exponent = valueElement.createChild('span', 'object-value-scientific-notation-exponent'); - exponent.textContent = 'e' + numberParts[1]; - valueElement.classList.add('object-value-scientific-notation-number'); - if (parentElement) // FIXME: do it in the caller. - parentElement.classList.add('hbox'); - } - - if (wasThrown) - valueElement.classList.add('error'); - if (subtype || type) - valueElement.classList.add('object-value-' + (subtype || type)); - - if (type === 'object' && subtype === 'node' && description) { - Components.DOMPresentationUtils.createSpansForNodeTitle(valueElement, description); - valueElement.addEventListener('click', mouseClick, false); - valueElement.addEventListener('mousemove', mouseMove, false); - valueElement.addEventListener('mouseleave', mouseLeave, false); - } else { - valueElement.title = description || ''; - } - if (type === 'object' && subtype === 'internal#location') { var rawLocation = value.debuggerModel().createRawLocationByScriptId( value.value.scriptId, value.value.lineNumber, value.value.columnNumber); if (rawLocation && linkifier) return linkifier.linkifyRawLocation(rawLocation, ''); - valueElement.textContent = '<unknown>'; + valueElement = createUnknownInternalLocationElement(); + } else if (type === 'string' && typeof description === 'string') { + valueElement = createStringElement(); + } else if (type === 'function') { + valueElement = Components.ObjectPropertiesSection.valueElementForFunctionDescription(description); + } else if (type === 'object' && subtype === 'node' && description) { + valueElement = createNodeElement(); + } else if (type === 'number' && description && description.indexOf('e') !== -1) { + valueElement = createNumberWithExponentElement(); + if (parentElement) // FIXME: do it in the caller. + parentElement.classList.add('hbox'); + } else { + valueElement = createElementWithClass('span', 'object-value-' + (subtype || type)); + valueElement.setTextContentTruncatedIfNeeded(description); + valueElement.title = description || ''; } - function mouseMove() { - SDK.DOMModel.highlightObjectAsDOMNode(value); + if (wasThrown) { + var wrapperElement = createElementWithClass('span', 'error value'); + wrapperElement.createTextChild('[' + Common.UIString('Exception') + ': '); + wrapperElement.appendChild(valueElement); + wrapperElement.createTextChild(']'); + return wrapperElement; } + valueElement.classList.add('value'); + return valueElement; - function mouseLeave() { - SDK.DOMModel.hideDOMNodeHighlight(); + /** + * @return {!Element} + */ + function createUnknownInternalLocationElement() { + var valueElement = createElementWithClass('span'); + valueElement.textContent = '<' + Common.UIString('unknown') + '>'; + valueElement.title = description || ''; + return valueElement; } /** - * @param {!Event} event + * @return {!Element} */ - function mouseClick(event) { - Common.Revealer.reveal(value); - event.consume(true); + function createStringElement() { + var valueElement = createElementWithClass('span', 'object-value-string'); + valueElement.createChild('span', 'object-value-string-quote').textContent = '"'; + valueElement.createTextChild('').setTextContentTruncatedIfNeeded(description.replace(/\n/g, '\u21B5')); + valueElement.createChild('span', 'object-value-string-quote').textContent = '"'; + valueElement.title = description || ''; + return valueElement; } - return valueElement; + /** + * @return {!Element} + */ + function createNodeElement() { + var valueElement = createElementWithClass('span', 'object-value-node'); + Components.DOMPresentationUtils.createSpansForNodeTitle(valueElement, /** @type {string} */ (description)); + valueElement.addEventListener('click', event => { + Common.Revealer.reveal(value); + event.consume(true); + }, false); + valueElement.addEventListener('mousemove', () => SDK.DOMModel.highlightObjectAsDOMNode(value), false); + valueElement.addEventListener('mouseleave', () => SDK.DOMModel.hideDOMNodeHighlight(), false); + return valueElement; + } + + /** + * @return {!Element} + */ + function createNumberWithExponentElement() { + var valueElement = createElementWithClass('span', 'object-value-number'); + var numberParts = description.split('e'); + valueElement.createChild('span', 'object-value-scientific-notation-mantissa').textContent = numberParts[0]; + valueElement.createChild('span', 'object-value-scientific-notation-exponent').textContent = 'e' + numberParts[1]; + valueElement.classList.add('object-value-scientific-notation-number'); + valueElement.title = description || ''; + return valueElement; + } } /**
diff --git a/third_party/WebKit/Source/devtools/front_end/externs.js b/third_party/WebKit/Source/devtools/front_end/externs.js index 0835cba..aa10efb2 100644 --- a/third_party/WebKit/Source/devtools/front_end/externs.js +++ b/third_party/WebKit/Source/devtools/front_end/externs.js
@@ -855,6 +855,8 @@ /** @type {!Object} */ var FormatterWorker = {}; /** @type {!Object} */ +var HeapSnapshotModel = {}; +/** @type {!Object} */ var HeapSnapshotWorker = {}; /** @type {!Object} */ var Host = {};
diff --git a/third_party/WebKit/Source/devtools/front_end/formatter_worker/module.json b/third_party/WebKit/Source/devtools/front_end/formatter_worker/module.json index 623c2fd0..8fb88ab 100644 --- a/third_party/WebKit/Source/devtools/front_end/formatter_worker/module.json +++ b/third_party/WebKit/Source/devtools/front_end/formatter_worker/module.json
@@ -6,8 +6,6 @@ "scripts": [ "../cm_web_modes/css.js", "../cm_web_modes/xml.js", - "../common/Text.js", - "../common/TextRange.js", "ESTreeWalker.js", "FormatterWorker.js", "acorn/acorn.js",
diff --git a/third_party/WebKit/Source/devtools/front_end/gonzales/SCSSParser.js b/third_party/WebKit/Source/devtools/front_end/gonzales/SCSSParser.js index 41483922f..345639d 100644 --- a/third_party/WebKit/Source/devtools/front_end/gonzales/SCSSParser.js +++ b/third_party/WebKit/Source/devtools/front_end/gonzales/SCSSParser.js
@@ -3,233 +3,240 @@ // found in the LICENSE file. /** - * @constructor * @implements {FormatterWorker.FormatterWorkerContentParser} + * @unrestricted */ -Gonzales.SCSSParser = function() -{ -} +Gonzales.SCSSParser = class { + /** + * @override + * @param {string} content + * @return {!Array<!Gonzales.SCSSParser.Rule>} + */ + parse(content) { + var ast = null; + try { + ast = gonzales.parse(content, {syntax: 'scss'}); + } catch (e) { + return []; + } -Gonzales.SCSSParser.prototype = { - /** - * @override - * @param {string} content - * @return {!Array<!Gonzales.SCSSParser.Rule>} - */ - parse: function(content) - { - var ast = null; - try { - ast = gonzales.parse(content, {syntax: "scss"}); - } catch (e) { - return []; - } + /** @type {!{properties: !Array<!Gonzales.Node>, node: !Gonzales.Node}} */ + var rootBlock = {properties: [], node: ast}; + /** @type {!Array<!{properties: !Array<!Gonzales.Node>, node: !Gonzales.Node}>} */ + var blocks = [rootBlock]; + ast.selectors = []; + Gonzales.SCSSParser.extractNodes(ast, blocks, rootBlock); - /** @type {!{properties: !Array<!Gonzales.Node>, node: !Gonzales.Node}} */ - var rootBlock = { - properties: [], - node: ast - }; - /** @type {!Array<!{properties: !Array<!Gonzales.Node>, node: !Gonzales.Node}>} */ - var blocks = [rootBlock]; - ast.selectors = []; - Gonzales.SCSSParser.extractNodes(ast, blocks, rootBlock); + var rules = []; + for (var block of blocks) + this._handleBlock(block, rules); + return rules; + } - var rules = []; - for (var block of blocks) - this._handleBlock(block, rules); - return rules; - }, + /** + * @param {!{node: !Gonzales.Node, properties: !Array<!Gonzales.Node>}} block + * @param {!Array<!Gonzales.SCSSParser.Rule>} output + */ + _handleBlock(block, output) { + var selectors = block.node.selectors.map(Gonzales.SCSSParser.rangeFromNode); + var properties = []; + var styleRange = Gonzales.SCSSParser.rangeFromNode(block.node); + styleRange.startColumn += 1; + styleRange.endColumn -= 1; + for (var node of block.properties) { + if (node.type === 'declaration') + this._handleDeclaration(node, properties); + else if (node.type === 'include') + this._handleInclude(node, properties); + else if (node.type === 'multilineComment' && node.start.line === node.end.line) + this._handleComment(node, properties); + } + if (!selectors.length && !properties.length) + return; + var rule = new Gonzales.SCSSParser.Rule(selectors, properties, styleRange); + output.push(rule); + } - /** - * @param {!{node: !Gonzales.Node, properties: !Array<!Gonzales.Node>}} block - * @param {!Array<!Gonzales.SCSSParser.Rule>} output - */ - _handleBlock: function(block, output) - { - var selectors = block.node.selectors.map(Gonzales.SCSSParser.rangeFromNode); - var properties = []; - var styleRange = Gonzales.SCSSParser.rangeFromNode(block.node); - styleRange.startColumn += 1; - styleRange.endColumn -= 1; - for (var node of block.properties) { - if (node.type === "declaration") - this._handleDeclaration(node, properties); - else if (node.type === "include") - this._handleInclude(node, properties); - else if (node.type === "multilineComment" && node.start.line === node.end.line) - this._handleComment(node, properties); - } - if (!selectors.length && !properties.length) - return; - var rule = new Gonzales.SCSSParser.Rule(selectors, properties, styleRange); - output.push(rule); - }, + /** + * @param {!Gonzales.Node} node + * @param {!Array<!Gonzales.SCSSParser.Property>} output + */ + _handleDeclaration(node, output) { + var propertyNode = node.content.find(node => node.type === 'property'); + var valueNode = node.content.find(node => node.type === 'value'); + if (!propertyNode || !valueNode) + return; - /** - * @param {!Gonzales.Node} node - * @param {!Array<!Gonzales.SCSSParser.Property>} output - */ - _handleDeclaration: function(node, output) - { - var propertyNode = node.content.find(node => node.type === "property"); - var valueNode = node.content.find(node => node.type === "value"); - if (!propertyNode || !valueNode) - return; + var nameRange = Gonzales.SCSSParser.rangeFromNode(propertyNode); + var valueRange = Gonzales.SCSSParser.rangeFromNode(valueNode); + var range = /** @type {!Gonzales.TextRange} */ (node.declarationRange); - var nameRange = Gonzales.SCSSParser.rangeFromNode(propertyNode); - var valueRange = Gonzales.SCSSParser.rangeFromNode(valueNode); - var range = /** @type {!Common.TextRange} */(node.declarationRange); + var property = new Gonzales.SCSSParser.Property(range, nameRange, valueRange, false); + output.push(property); + } - var property = new Gonzales.SCSSParser.Property(range, nameRange, valueRange, false); - output.push(property); - }, + /** + * @param {!Gonzales.Node} node + * @param {!Array<!Gonzales.SCSSParser.Property>} output + */ + _handleInclude(node, output) { + var mixinName = node.content.find(node => node.type === 'ident'); + if (!mixinName) + return; + var nameRange = Gonzales.SCSSParser.rangeFromNode(mixinName); + var mixinArguments = node.content.find(node => node.type === 'arguments'); + if (!mixinArguments) + return; + var parameters = mixinArguments.content.filter(node => node.type !== 'delimiter' && node.type !== 'space'); + for (var parameter of parameters) { + var range = Gonzales.SCSSParser.rangeFromNode(node); + var valueRange = Gonzales.SCSSParser.rangeFromNode(parameter); + var property = new Gonzales.SCSSParser.Property(range, nameRange, valueRange, false); + output.push(property); + } + } - /** - * @param {!Gonzales.Node} node - * @param {!Array<!Gonzales.SCSSParser.Property>} output - */ - _handleInclude: function(node, output) - { - var mixinName = node.content.find(node => node.type === "ident"); - if (!mixinName) - return; - var nameRange = Gonzales.SCSSParser.rangeFromNode(mixinName); - var mixinArguments = node.content.find(node => node.type === "arguments"); - if (!mixinArguments) - return; - var parameters = mixinArguments.content.filter(node => node.type !== "delimiter" && node.type !== "space"); - for (var parameter of parameters) { - var range = Gonzales.SCSSParser.rangeFromNode(node); - var valueRange = Gonzales.SCSSParser.rangeFromNode(parameter); - var property = new Gonzales.SCSSParser.Property(range, nameRange, valueRange, false); - output.push(property); - } - }, - - /** - * @param {!Gonzales.Node} node - * @param {!Array<!Gonzales.SCSSParser.Property>} output - */ - _handleComment: function(node, output) - { - if (node.start.line !== node.end.line) - return; - var innerText = /** @type {string} */(node.content); - var innerResult = this.parse(innerText); - if (innerResult.length !== 1 || innerResult[0].properties.length !== 1) - return; - var property = innerResult[0].properties[0]; - var disabledProperty = property.rebaseInsideOneLineComment(node); - output.push(disabledProperty); - }, -} + /** + * @param {!Gonzales.Node} node + * @param {!Array<!Gonzales.SCSSParser.Property>} output + */ + _handleComment(node, output) { + if (node.start.line !== node.end.line) + return; + var innerText = /** @type {string} */ (node.content); + var innerResult = this.parse(innerText); + if (innerResult.length !== 1 || innerResult[0].properties.length !== 1) + return; + var property = innerResult[0].properties[0]; + var disabledProperty = property.rebaseInsideOneLineComment(node); + output.push(disabledProperty); + } +}; /** * @param {!Gonzales.Node} node - * @return {!Common.TextRange} + * @return {!Gonzales.TextRange} */ -Gonzales.SCSSParser.rangeFromNode = function(node) -{ - return new Common.TextRange(node.start.line - 1, node.start.column - 1, node.end.line - 1, node.end.column); -} +Gonzales.SCSSParser.rangeFromNode = function(node) { + return new Gonzales.TextRange(node.start.line - 1, node.start.column - 1, node.end.line - 1, node.end.column); +}; /** - * @constructor - * @param {!Common.TextRange} range - * @param {!Common.TextRange} nameRange - * @param {!Common.TextRange} valueRange - * @param {boolean} disabled + * @unrestricted */ -Gonzales.SCSSParser.Property = function(range, nameRange, valueRange, disabled) -{ +Gonzales.SCSSParser.Property = class { + /** + * @param {!Gonzales.TextRange} range + * @param {!Gonzales.TextRange} nameRange + * @param {!Gonzales.TextRange} valueRange + * @param {boolean} disabled + */ + constructor(range, nameRange, valueRange, disabled) { this.range = range; this.name = nameRange; this.value = valueRange; this.disabled = disabled; -} + } -Gonzales.SCSSParser.Property.prototype = { + /** + * @param {!Gonzales.Node} commentNode + * @return {!Gonzales.SCSSParser.Property} + */ + rebaseInsideOneLineComment(commentNode) { + var lineOffset = commentNode.start.line - 1; + // Account for the "/*". + var columnOffset = commentNode.start.column - 1 + 2; + var range = Gonzales.SCSSParser.rangeFromNode(commentNode); + var name = rebaseRange(this.name, lineOffset, columnOffset); + var value = rebaseRange(this.value, lineOffset, columnOffset); + return new Gonzales.SCSSParser.Property(range, name, value, true); + /** - * @param {!Gonzales.Node} commentNode - * @return {!Gonzales.SCSSParser.Property} + * @param {!Gonzales.TextRange} range + * @param {number} lineOffset + * @param {number} columnOffset + * @return {!Gonzales.TextRange} */ - rebaseInsideOneLineComment: function(commentNode) - { - var lineOffset = commentNode.start.line - 1; - // Account for the "/*". - var columnOffset = commentNode.start.column - 1 + 2; - var range = Gonzales.SCSSParser.rangeFromNode(commentNode); - var name = rebaseRange(this.name, lineOffset, columnOffset); - var value = rebaseRange(this.value, lineOffset, columnOffset); - return new Gonzales.SCSSParser.Property(range, name, value, true); - - /** - * @param {!Common.TextRange} range - * @param {number} lineOffset - * @param {number} columnOffset - * @return {!Common.TextRange} - */ - function rebaseRange(range, lineOffset, columnOffset) - { - return new Common.TextRange(range.startLine + lineOffset, range.startColumn + columnOffset, range.endLine + lineOffset, range.endColumn + columnOffset); - } + function rebaseRange(range, lineOffset, columnOffset) { + return new Gonzales.TextRange( + range.startLine + lineOffset, range.startColumn + columnOffset, range.endLine + lineOffset, + range.endColumn + columnOffset); } -} + } +}; /** - * @constructor - * @param {!Array<!Common.TextRange>} selectors - * @param {!Array<!Gonzales.SCSSParser.Property>} properties - * @param {!Common.TextRange} styleRange + * @unrestricted */ -Gonzales.SCSSParser.Rule = function(selectors, properties, styleRange) -{ +Gonzales.SCSSParser.Rule = class { + /** + * @param {!Array<!Gonzales.TextRange>} selectors + * @param {!Array<!Gonzales.SCSSParser.Property>} properties + * @param {!Gonzales.TextRange} styleRange + */ + constructor(selectors, properties, styleRange) { this.selectors = selectors; this.properties = properties; this.styleRange = styleRange; -} + } +}; /** * @param {!Gonzales.Node} node * @param {!Array<{node: !Gonzales.Node, properties: !Array<!Gonzales.Node>}>} blocks * @param {!{node: !Gonzales.Node, properties: !Array<!Gonzales.Node>}} lastBlock */ -Gonzales.SCSSParser.extractNodes = function(node, blocks, lastBlock) -{ - if (!Array.isArray(node.content)) - return; - if (node.type === "block") { - lastBlock = { - node: node, - properties: [] - }; - blocks.push(lastBlock); +Gonzales.SCSSParser.extractNodes = function(node, blocks, lastBlock) { + if (!Array.isArray(node.content)) + return; + if (node.type === 'block') { + lastBlock = {node: node, properties: []}; + blocks.push(lastBlock); + } + var lastDeclaration = null; + var selectors = []; + for (var i = 0; i < node.content.length; ++i) { + var child = node.content[i]; + if (child.type === 'declarationDelimiter' && lastDeclaration) { + lastDeclaration.declarationRange.endLine = child.end.line - 1; + lastDeclaration.declarationRange.endColumn = child.end.column; + lastDeclaration = null; + } else if (child.type === 'selector') { + selectors.push(child); + } else if (child.type === 'block') { + child.selectors = selectors; + selectors = []; } - var lastDeclaration = null; - var selectors = []; - for (var i = 0; i < node.content.length; ++i) { - var child = node.content[i]; - if (child.type === "declarationDelimiter" && lastDeclaration) { - lastDeclaration.declarationRange.endLine = child.end.line - 1; - lastDeclaration.declarationRange.endColumn = child.end.column; - lastDeclaration = null; - } else if (child.type === "selector") { - selectors.push(child); - } else if (child.type === "block") { - child.selectors = selectors; - selectors = []; - } - if (child.type === "include" || child.type === "declaration" || child.type === "multilineComment") - lastBlock.properties.push(child); - if (child.type === "declaration") { - lastDeclaration = child; - lastDeclaration.declarationRange = Common.TextRange.createFromLocation(child.start.line - 1, child.start.column - 1); - } - Gonzales.SCSSParser.extractNodes(child, blocks, lastBlock); + if (child.type === 'include' || child.type === 'declaration' || child.type === 'multilineComment') + lastBlock.properties.push(child); + if (child.type === 'declaration') { + lastDeclaration = child; + const line = child.start.line - 1; + const column = child.start.column - 1; + lastDeclaration.declarationRange = new Gonzales.TextRange(line, column, line, column); } - if (lastDeclaration) { - lastDeclaration.declarationRange.endLine = node.end.line - 1; - lastDeclaration.declarationRange.endColumn = node.end.column - 1; - } -} + Gonzales.SCSSParser.extractNodes(child, blocks, lastBlock); + } + if (lastDeclaration) { + lastDeclaration.declarationRange.endLine = node.end.line - 1; + lastDeclaration.declarationRange.endColumn = node.end.column - 1; + } +}; + +/** + * @unrestricted + */ +Gonzales.TextRange = class { + /** + * @param {number} startLine + * @param {number} startColumn + * @param {number} endLine + * @param {number} endColumn + */ + constructor(startLine, startColumn, endLine, endColumn) { + this.startLine = startLine; + this.startColumn = startColumn; + this.endLine = endLine; + this.endColumn = endColumn; + } +}; \ No newline at end of file
diff --git a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotCommon.js b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_model/HeapSnapshotModel.js similarity index 84% rename from third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotCommon.js rename to third_party/WebKit/Source/devtools/front_end/heap_snapshot_model/HeapSnapshotModel.js index 23c6131..02d0cf9 100644 --- a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotCommon.js +++ b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_model/HeapSnapshotModel.js
@@ -28,29 +28,25 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -self['Profiler'] = self['Profiler'] || {}; - -Profiler.HeapSnapshotProgressEvent = { +HeapSnapshotModel.HeapSnapshotProgressEvent = { Update: 'ProgressUpdate', BrokenSnapshot: 'BrokenSnapshot' }; -Profiler.HeapSnapshotCommon = {}; - -Profiler.HeapSnapshotCommon.baseSystemDistance = 100000000; +HeapSnapshotModel.baseSystemDistance = 100000000; /** * @unrestricted */ -Profiler.HeapSnapshotCommon.AllocationNodeCallers = class { +HeapSnapshotModel.AllocationNodeCallers = class { /** - * @param {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} nodesWithSingleCaller - * @param {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} branchingCallers + * @param {!Array.<!HeapSnapshotModel.SerializedAllocationNode>} nodesWithSingleCaller + * @param {!Array.<!HeapSnapshotModel.SerializedAllocationNode>} branchingCallers */ constructor(nodesWithSingleCaller, branchingCallers) { - /** @type {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} */ + /** @type {!Array.<!HeapSnapshotModel.SerializedAllocationNode>} */ this.nodesWithSingleCaller = nodesWithSingleCaller; - /** @type {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} */ + /** @type {!Array.<!HeapSnapshotModel.SerializedAllocationNode>} */ this.branchingCallers = branchingCallers; } }; @@ -58,7 +54,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.SerializedAllocationNode = class { +HeapSnapshotModel.SerializedAllocationNode = class { /** * @param {number} nodeId * @param {string} functionName @@ -101,7 +97,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.AllocationStackFrame = class { +HeapSnapshotModel.AllocationStackFrame = class { /** * @param {string} functionName * @param {string} scriptName @@ -126,7 +122,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.Node = class { +HeapSnapshotModel.Node = class { /** * @param {number} id * @param {string} name @@ -153,10 +149,10 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.Edge = class { +HeapSnapshotModel.Edge = class { /** * @param {string} name - * @param {!Profiler.HeapSnapshotCommon.Node} node + * @param {!HeapSnapshotModel.Node} node * @param {string} type * @param {number} edgeIndex */ @@ -171,7 +167,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.Aggregate = class { +HeapSnapshotModel.Aggregate = class { constructor() { /** @type {number} */ this.count; @@ -193,7 +189,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.AggregateForDiff = class { +HeapSnapshotModel.AggregateForDiff = class { constructor() { /** @type {!Array.<number>} */ this.indexes = []; @@ -207,7 +203,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.Diff = class { +HeapSnapshotModel.Diff = class { constructor() { /** @type {number} */ this.addedCount = 0; @@ -227,7 +223,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.DiffForClass = class { +HeapSnapshotModel.DiffForClass = class { constructor() { /** @type {number} */ this.addedCount; @@ -252,7 +248,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.ComparatorConfig = class { +HeapSnapshotModel.ComparatorConfig = class { constructor() { /** @type {string} */ this.fieldName1; @@ -268,7 +264,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.WorkerCommand = class { +HeapSnapshotModel.WorkerCommand = class { constructor() { /** @type {number} */ this.callId; @@ -290,7 +286,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.ItemsRange = class { +HeapSnapshotModel.ItemsRange = class { /** * @param {number} startPosition * @param {number} endPosition @@ -312,7 +308,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.StaticData = class { +HeapSnapshotModel.StaticData = class { /** * @param {number} nodeCount * @param {number} rootNodeIndex @@ -334,7 +330,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.Statistics = class { +HeapSnapshotModel.Statistics = class { constructor() { /** @type {number} */ this.total; @@ -356,7 +352,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.NodeFilter = class { +HeapSnapshotModel.NodeFilter = class { /** * @param {number=} minNodeId * @param {number=} maxNodeId @@ -371,7 +367,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} o + * @param {!HeapSnapshotModel.NodeFilter} o * @return {boolean} */ equals(o) { @@ -383,7 +379,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.SearchConfig = class { +HeapSnapshotModel.SearchConfig = class { /** * @param {string} query * @param {boolean} caseSensitive @@ -403,7 +399,7 @@ /** * @unrestricted */ -Profiler.HeapSnapshotCommon.Samples = class { +HeapSnapshotModel.Samples = class { /** * @param {!Array.<number>} timestamps * @param {!Array.<number>} lastAssignedIds
diff --git a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_model/module.json b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_model/module.json new file mode 100644 index 0000000..1685301 --- /dev/null +++ b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_model/module.json
@@ -0,0 +1,6 @@ +{ + "dependencies": [], + "scripts": [ + "HeapSnapshotModel.js" + ] +}
diff --git a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker.json b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker.json index f7a6d98..8ca6f4c9b 100644 --- a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker.json +++ b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker.json
@@ -1,6 +1,7 @@ { "modules": [ - { "name": "heap_snapshot_worker", "type": "autostart" } + { "name": "heap_snapshot_worker", "type": "autostart" }, + { "name": "heap_snapshot_model", "type": "autostart" } ], "has_html": false
diff --git a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js index f088fed..99defa5 100644 --- a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js +++ b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js
@@ -106,7 +106,7 @@ } /** - * @return {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} + * @return {!Array.<!HeapSnapshotModel.SerializedAllocationNode>} */ serializeTraceTops() { if (this._traceTops) @@ -131,7 +131,7 @@ /** * @param {number} nodeId - * @return {!Profiler.HeapSnapshotCommon.AllocationNodeCallers} + * @return {!HeapSnapshotModel.AllocationNodeCallers} */ serializeCallers(nodeId) { var node = this._ensureBottomUpNode(nodeId); @@ -146,19 +146,19 @@ for (var i = 0; i < callers.length; i++) branchingCallers.push(this._serializeCaller(callers[i])); - return new Profiler.HeapSnapshotCommon.AllocationNodeCallers(nodesWithSingleCaller, branchingCallers); + return new HeapSnapshotModel.AllocationNodeCallers(nodesWithSingleCaller, branchingCallers); } /** * @param {number} traceNodeId - * @return {!Array.<!Profiler.HeapSnapshotCommon.AllocationStackFrame>} + * @return {!Array.<!HeapSnapshotModel.AllocationStackFrame>} */ serializeAllocationStack(traceNodeId) { var node = this._idToTopDownNode[traceNodeId]; var result = []; while (node) { var functionInfo = node.functionInfo; - result.push(new Profiler.HeapSnapshotCommon.AllocationStackFrame( + result.push(new HeapSnapshotModel.AllocationStackFrame( functionInfo.functionName, functionInfo.scriptName, functionInfo.scriptId, functionInfo.line, functionInfo.column)); node = node.parent; @@ -191,7 +191,7 @@ /** * @param {!HeapSnapshotWorker.BottomUpAllocationNode} node - * @return {!Profiler.HeapSnapshotCommon.SerializedAllocationNode} + * @return {!HeapSnapshotModel.SerializedAllocationNode} */ _serializeCaller(node) { var callerId = this._nextNodeId++; @@ -209,10 +209,10 @@ * @param {number} liveCount * @param {number} liveSize * @param {boolean} hasChildren - * @return {!Profiler.HeapSnapshotCommon.SerializedAllocationNode} + * @return {!HeapSnapshotModel.SerializedAllocationNode} */ _serializeNode(nodeId, functionInfo, count, size, liveCount, liveSize, hasChildren) { - return new Profiler.HeapSnapshotCommon.SerializedAllocationNode( + return new HeapSnapshotModel.SerializedAllocationNode( nodeId, functionInfo.functionName, functionInfo.scriptName, functionInfo.scriptId, functionInfo.line, functionInfo.column, count, size, liveCount, liveSize, hasChildren); }
diff --git a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/HeapSnapshot.js b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/HeapSnapshot.js index b9209dd..247a40c4 100644 --- a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/HeapSnapshot.js +++ b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/HeapSnapshot.js
@@ -119,10 +119,10 @@ /** * @override - * @return {!Profiler.HeapSnapshotCommon.Edge} + * @return {!HeapSnapshotModel.Edge} */ serialize() { - return new Profiler.HeapSnapshotCommon.Edge(this.name(), this.node().serialize(), this.type(), this.edgeIndex); + return new HeapSnapshotModel.Edge(this.name(), this.node().serialize(), this.type(), this.edgeIndex); } /** @@ -378,11 +378,10 @@ /** * @override - * @return {!Profiler.HeapSnapshotCommon.Edge} + * @return {!HeapSnapshotModel.Edge} */ serialize() { - return new Profiler.HeapSnapshotCommon.Edge( - this.name(), this.node().serialize(), this.type(), this._globalEdgeIndex); + return new HeapSnapshotModel.Edge(this.name(), this.node().serialize(), this.type(), this._globalEdgeIndex); } /** @@ -567,10 +566,10 @@ /** * @override - * @return {!Profiler.HeapSnapshotCommon.Node} + * @return {!HeapSnapshotModel.Node} */ serialize() { - return new Profiler.HeapSnapshotCommon.Node( + return new HeapSnapshotModel.Node( this.id(), this.name(), this.distance(), this.nodeIndex, this.retainedSize(), this.selfSize(), this.type()); } @@ -776,7 +775,7 @@ reportProblem(error) { // May be undefined in tests. if (this._dispatcher) - this._dispatcher.sendEvent(Profiler.HeapSnapshotProgressEvent.BrokenSnapshot, error); + this._dispatcher.sendEvent(HeapSnapshotModel.HeapSnapshotProgressEvent.BrokenSnapshot, error); } /** @@ -785,7 +784,7 @@ _sendUpdateEvent(text) { // May be undefined in tests. if (this._dispatcher) - this._dispatcher.sendEvent(Profiler.HeapSnapshotProgressEvent.Update, text); + this._dispatcher.sendEvent(HeapSnapshotModel.HeapSnapshotProgressEvent.Update, text); } }; @@ -835,7 +834,7 @@ this._metaNode = profile.snapshot.meta; /** @type {!Array.<number>} */ this._rawSamples = profile.samples; - /** @type {?Profiler.HeapSnapshotCommon.Samples} */ + /** @type {?HeapSnapshotModel.Samples} */ this._samples = null; /** @type {!Array.<string>} */ this.strings = profile.strings; @@ -1058,7 +1057,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} nodeFilter + * @param {!HeapSnapshotModel.NodeFilter} nodeFilter * @return {undefined|function(!HeapSnapshotWorker.HeapSnapshotNode):boolean} */ _createFilter(nodeFilter) { @@ -1077,8 +1076,8 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.SearchConfig} searchConfig - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} nodeFilter + * @param {!HeapSnapshotModel.SearchConfig} searchConfig + * @param {!HeapSnapshotModel.NodeFilter} nodeFilter * @return {!Array.<number>} */ search(searchConfig, nodeFilter) { @@ -1123,8 +1122,8 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} nodeFilter - * @return {!Object.<string, !Profiler.HeapSnapshotCommon.Aggregate>} + * @param {!HeapSnapshotModel.NodeFilter} nodeFilter + * @return {!Object.<string, !HeapSnapshotModel.Aggregate>} */ aggregatesWithFilter(nodeFilter) { var filter = this._createFilter(nodeFilter); @@ -1174,7 +1173,7 @@ * @param {boolean} sortedIndexes * @param {string=} key * @param {function(!HeapSnapshotWorker.HeapSnapshotNode):boolean=} filter - * @return {!Object.<string, !Profiler.HeapSnapshotCommon.Aggregate>} + * @return {!Object.<string, !HeapSnapshotModel.Aggregate>} */ aggregates(sortedIndexes, key, filter) { var aggregatesByClassName = key && this._aggregates[key]; @@ -1195,7 +1194,7 @@ } /** - * @return {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} + * @return {!Array.<!HeapSnapshotModel.SerializedAllocationNode>} */ allocationTracesTops() { return this._allocationProfile.serializeTraceTops(); @@ -1203,7 +1202,7 @@ /** * @param {number} nodeId - * @return {!Profiler.HeapSnapshotCommon.AllocationNodeCallers} + * @return {!HeapSnapshotModel.AllocationNodeCallers} */ allocationNodeCallers(nodeId) { return this._allocationProfile.serializeCallers(nodeId); @@ -1211,7 +1210,7 @@ /** * @param {number} nodeIndex - * @return {?Array.<!Profiler.HeapSnapshotCommon.AllocationStackFrame>} + * @return {?Array.<!HeapSnapshotModel.AllocationStackFrame>} */ allocationStack(nodeIndex) { var node = this.createNode(nodeIndex); @@ -1222,7 +1221,7 @@ } /** - * @return {!Object.<string, !Profiler.HeapSnapshotCommon.AggregateForDiff>} + * @return {!Object.<string, !HeapSnapshotModel.AggregateForDiff>} */ aggregatesForDiff() { if (this._aggregatesForDiff) @@ -1299,7 +1298,7 @@ // bfs for the rest of objects nodesToVisitLength = 0; - this.forEachRoot(enqueueNode.bind(null, Profiler.HeapSnapshotCommon.baseSystemDistance), false); + this.forEachRoot(enqueueNode.bind(null, HeapSnapshotModel.baseSystemDistance), false); this._bfs(nodesToVisit, nodesToVisitLength, distances, filter); } @@ -1846,11 +1845,11 @@ } sizeForRange[rangeIndex] += node.selfSize(); } - this._samples = new Profiler.HeapSnapshotCommon.Samples(timestamps, lastAssignedIds, sizeForRange); + this._samples = new HeapSnapshotModel.Samples(timestamps, lastAssignedIds, sizeForRange); } /** - * @return {?Profiler.HeapSnapshotCommon.Samples} + * @return {?HeapSnapshotModel.Samples} */ getSamples() { return this._samples; @@ -1876,8 +1875,8 @@ /** * @param {string} baseSnapshotId - * @param {!Object.<string, !Profiler.HeapSnapshotCommon.AggregateForDiff>} baseSnapshotAggregates - * @return {!Object.<string, !Profiler.HeapSnapshotCommon.Diff>} + * @param {!Object.<string, !HeapSnapshotModel.AggregateForDiff>} baseSnapshotAggregates + * @return {!Object.<string, !HeapSnapshotModel.Diff>} */ calculateSnapshotDiff(baseSnapshotId, baseSnapshotAggregates) { var snapshotDiff = this._snapshotDiffs[baseSnapshotId]; @@ -1892,7 +1891,7 @@ if (diff) snapshotDiff[className] = diff; } - var emptyBaseAggregate = new Profiler.HeapSnapshotCommon.AggregateForDiff(); + var emptyBaseAggregate = new HeapSnapshotModel.AggregateForDiff(); for (var className in aggregates) { if (className in baseSnapshotAggregates) continue; @@ -1904,9 +1903,9 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.AggregateForDiff} baseAggregate - * @param {!Profiler.HeapSnapshotCommon.Aggregate} aggregate - * @return {?Profiler.HeapSnapshotCommon.Diff} + * @param {!HeapSnapshotModel.AggregateForDiff} baseAggregate + * @param {!HeapSnapshotModel.Aggregate} aggregate + * @return {?HeapSnapshotModel.Diff} */ _calculateDiffForClass(baseAggregate, aggregate) { var baseIds = baseAggregate.ids; @@ -1917,7 +1916,7 @@ var i = 0, l = baseIds.length; var j = 0, m = indexes.length; - var diff = new Profiler.HeapSnapshotCommon.Diff(); + var diff = new HeapSnapshotModel.Diff(); var nodeB = this.createNode(indexes[j]); while (i < l && j < m) { @@ -2065,7 +2064,7 @@ /** * @param {string} className - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} nodeFilter + * @param {!HeapSnapshotModel.NodeFilter} nodeFilter * @return {!HeapSnapshotWorker.HeapSnapshotNodesProvider} */ createNodesProviderForClass(className, nodeFilter) { @@ -2093,11 +2092,10 @@ } /** - * @return {!Profiler.HeapSnapshotCommon.StaticData} + * @return {!HeapSnapshotModel.StaticData} */ updateStaticData() { - return new Profiler.HeapSnapshotCommon.StaticData( - this.nodeCount, this._rootNodeIndex, this.totalSize, this._maxJsNodeId()); + return new HeapSnapshotModel.StaticData(this.nodeCount, this._rootNodeIndex, this.totalSize, this._maxJsNodeId()); } }; @@ -2169,7 +2167,7 @@ /** * @param {number} begin * @param {number} end - * @return {!Profiler.HeapSnapshotCommon.ItemsRange} + * @return {!HeapSnapshotModel.ItemsRange} */ serializeItemsRange(begin, end) { this._createIterationOrder(); @@ -2194,7 +2192,7 @@ var item = this._indexProvider.itemForIndex(itemIndex); result[i] = item.serialize(); } - return new Profiler.HeapSnapshotCommon.ItemsRange(begin, end, this._iterationOrder.length, result); + return new HeapSnapshotModel.ItemsRange(begin, end, this._iterationOrder.length, result); } sortAndRewind(comparator) { @@ -2224,7 +2222,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.ComparatorConfig} comparator + * @param {!HeapSnapshotModel.ComparatorConfig} comparator * @param {number} leftBound * @param {number} rightBound * @param {number} windowLeft @@ -2388,7 +2386,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.ComparatorConfig} comparator + * @param {!HeapSnapshotModel.ComparatorConfig} comparator * @param {number} leftBound * @param {number} rightBound * @param {number} windowLeft @@ -2761,7 +2759,7 @@ for (var nodeIndex = 0; nodeIndex < nodesLength; nodeIndex += nodeFieldCount) { var nodeSize = nodes[nodeIndex + nodeSizeOffset]; var ordinal = nodeIndex / nodeFieldCount; - if (distances[ordinal] >= Profiler.HeapSnapshotCommon.baseSystemDistance) { + if (distances[ordinal] >= HeapSnapshotModel.baseSystemDistance) { sizeSystem += nodeSize; continue; } @@ -2776,7 +2774,7 @@ else if (node.name() === 'Array') sizeJSArrays += this._calculateArraySize(node); } - this._statistics = new Profiler.HeapSnapshotCommon.Statistics(); + this._statistics = new HeapSnapshotModel.Statistics(); this._statistics.total = this.totalSize; this._statistics.v8heap = this.totalSize - sizeNative; this._statistics.native = sizeNative; @@ -2818,7 +2816,7 @@ } /** - * @return {!Profiler.HeapSnapshotCommon.Statistics} + * @return {!HeapSnapshotModel.Statistics} */ getStatistics() { return this._statistics; @@ -2997,7 +2995,7 @@ /** * @override - * @return {!Profiler.HeapSnapshotCommon.Node} + * @return {!HeapSnapshotModel.Node} */ serialize() { var result = super.serialize();
diff --git a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.js b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.js index 309c669..349613a 100644 --- a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.js +++ b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.js
@@ -55,7 +55,7 @@ } dispatchMessage(event) { - var data = /** @type {!Profiler.HeapSnapshotCommon.WorkerCommand } */ (event.data); + var data = /** @type {!HeapSnapshotModel.WorkerCommand } */ (event.data); var response = {callId: data.callId}; try { switch (data.disposition) {
diff --git a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/module.json b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/module.json index 3322c42..e41b08a 100644 --- a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/module.json +++ b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/module.json
@@ -3,11 +3,13 @@ "../platform/utilities.js", "../common/UIString.js", "../common/TextUtils.js", - "../profiler/HeapSnapshotCommon.js", "AllocationProfile.js", "HeapSnapshot.js", "HeapSnapshotLoader.js", "HeapSnapshotWorkerDispatcher.js", "HeapSnapshotWorker.js" + ], + "dependencies": [ + "heap_snapshot_model" ] }
diff --git a/third_party/WebKit/Source/devtools/front_end/inspector.json b/third_party/WebKit/Source/devtools/front_end/inspector.json index 20d4dcf..5d6b39f 100644 --- a/third_party/WebKit/Source/devtools/front_end/inspector.json +++ b/third_party/WebKit/Source/devtools/front_end/inspector.json
@@ -48,7 +48,8 @@ { "name": "cookie_table" }, { "name": "inline_editor" }, { "name": "color_picker" }, - { "name": "data_grid" } + { "name": "data_grid" }, + { "name": "heap_snapshot_model" } ], "has_html": true
diff --git a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotDataGrids.js b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotDataGrids.js index c88d95d..ed646a9 100644 --- a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotDataGrids.js +++ b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotDataGrids.js
@@ -57,13 +57,13 @@ * @type {?UI.ToolbarInput} */ this._nameFilter = null; - this._nodeFilter = new Profiler.HeapSnapshotCommon.NodeFilter(); + this._nodeFilter = new HeapSnapshotModel.NodeFilter(); this.addEventListener(Profiler.HeapSnapshotSortableDataGrid.Events.SortingComplete, this._sortingComplete, this); this.addEventListener(DataGrid.DataGrid.Events.SortingChanged, this.sortingChanged, this); } /** - * @return {!Profiler.HeapSnapshotCommon.NodeFilter} + * @return {!HeapSnapshotModel.NodeFilter} */ nodeFilter() { return this._nodeFilter; @@ -771,7 +771,7 @@ * @param {number} maxNodeId */ setSelectionRange(minNodeId, maxNodeId) { - this._nodeFilter = new Profiler.HeapSnapshotCommon.NodeFilter(minNodeId, maxNodeId); + this._nodeFilter = new HeapSnapshotModel.NodeFilter(minNodeId, maxNodeId); this._populateChildren(this._nodeFilter); } @@ -779,14 +779,14 @@ * @param {number} allocationNodeId */ setAllocationNodeId(allocationNodeId) { - this._nodeFilter = new Profiler.HeapSnapshotCommon.NodeFilter(); + this._nodeFilter = new HeapSnapshotModel.NodeFilter(); this._nodeFilter.allocationNodeId = allocationNodeId; this._populateChildren(this._nodeFilter); } /** - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} nodeFilter - * @param {!Object.<string, !Profiler.HeapSnapshotCommon.Aggregate>} aggregates + * @param {!HeapSnapshotModel.NodeFilter} nodeFilter + * @param {!Object.<string, !HeapSnapshotModel.Aggregate>} aggregates */ _aggregatesReceived(nodeFilter, aggregates) { this._filterInProgress = null; @@ -808,10 +808,10 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.NodeFilter=} nodeFilter + * @param {!HeapSnapshotModel.NodeFilter=} nodeFilter */ _populateChildren(nodeFilter) { - nodeFilter = nodeFilter || new Profiler.HeapSnapshotCommon.NodeFilter(); + nodeFilter = nodeFilter || new HeapSnapshotModel.NodeFilter(); if (this._filterInProgress) { this._nextRequestedFilter = this._filterInProgress.equals(nodeFilter) ? null : nodeFilter; @@ -829,7 +829,7 @@ if (profileIndex !== -1) { var minNodeId = profileIndex > 0 ? profiles[profileIndex - 1].maxJSObjectId : 0; var maxNodeId = profiles[profileIndex].maxJSObjectId; - this._nodeFilter = new Profiler.HeapSnapshotCommon.NodeFilter(minNodeId, maxNodeId); + this._nodeFilter = new HeapSnapshotModel.NodeFilter(minNodeId, maxNodeId); } this._populateChildren(this._nodeFilter); @@ -970,7 +970,7 @@ this.snapshot.allocationTracesTops(didReceiveAllocationTracesTops.bind(this)); /** - * @param {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} tops + * @param {!Array.<!HeapSnapshotModel.SerializedAllocationNode>} tops * @this {Profiler.AllocationDataGrid} */ function didReceiveAllocationTracesTops(tops) {
diff --git a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotGridNodes.js b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotGridNodes.js index 3a2fa32..52257e97 100644 --- a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotGridNodes.js +++ b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotGridNodes.js
@@ -57,10 +57,10 @@ /** * @param {!Array.<string>} fieldNames - * @return {!Profiler.HeapSnapshotCommon.ComparatorConfig} + * @return {!HeapSnapshotModel.ComparatorConfig} */ static createComparator(fieldNames) { - return /** @type {!Profiler.HeapSnapshotCommon.ComparatorConfig} */ ( + return /** @type {!HeapSnapshotModel.ComparatorConfig} */ ( {fieldName1: fieldNames[0], ascending1: fieldNames[1], fieldName2: fieldNames[2], ascending2: fieldNames[3]}); } @@ -159,7 +159,7 @@ * @return {string} */ _toUIDistance(distance) { - var baseSystemDistance = Profiler.HeapSnapshotCommon.baseSystemDistance; + var baseSystemDistance = HeapSnapshotModel.baseSystemDistance; return distance >= 0 && distance < baseSystemDistance ? Common.UIString('%d', distance) : Common.UIString('\u2212'); } @@ -284,7 +284,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.ItemsRange} itemsRange + * @param {!HeapSnapshotModel.ItemsRange} itemsRange * @this {Profiler.HeapSnapshotGridNode} */ function childrenRetrieved(itemsRange) { @@ -459,12 +459,12 @@ /** * @param {number} startPosition * @param {number} endPosition - * @param {function(!Profiler.HeapSnapshotCommon.ItemsRange)} callback + * @param {function(!HeapSnapshotModel.ItemsRange)} callback */ serializeItemsRange(startPosition, endPosition, callback) {}, /** - * @param {!Profiler.HeapSnapshotCommon.ComparatorConfig} comparator + * @param {!HeapSnapshotModel.ComparatorConfig} comparator * @return {!Promise<?>} */ sortAndRewind(comparator) {} @@ -476,7 +476,7 @@ Profiler.HeapSnapshotGenericObjectNode = class extends Profiler.HeapSnapshotGridNode { /** * @param {!Profiler.HeapSnapshotSortableDataGrid} dataGrid - * @param {!Profiler.HeapSnapshotCommon.Node} node + * @param {!HeapSnapshotModel.Node} node */ constructor(dataGrid, node) { super(dataGrid, false); @@ -663,7 +663,7 @@ /** * @param {!Profiler.HeapSnapshotSortableDataGrid} dataGrid * @param {!Profiler.HeapSnapshotProxy} snapshot - * @param {!Profiler.HeapSnapshotCommon.Edge} edge + * @param {!HeapSnapshotModel.Edge} edge * @param {?Profiler.HeapSnapshotObjectNode} parentObjectNode */ constructor(dataGrid, snapshot, edge, parentObjectNode) { @@ -715,7 +715,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.Edge} item + * @param {!HeapSnapshotModel.Edge} item * @return {!Profiler.HeapSnapshotObjectNode} */ _createChildNode(item) { @@ -723,7 +723,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.Edge} edge + * @param {!HeapSnapshotModel.Edge} edge * @return {number} */ _childHashForEntity(edge) { @@ -739,7 +739,7 @@ } /** - * @return {!Profiler.HeapSnapshotCommon.ComparatorConfig} + * @return {!HeapSnapshotModel.ComparatorConfig} */ comparator() { var sortAscending = this._dataGrid.isSortOrderAscending(); @@ -804,7 +804,7 @@ /** * @param {!Profiler.HeapSnapshotSortableDataGrid} dataGrid * @param {!Profiler.HeapSnapshotProxy} snapshot - * @param {!Profiler.HeapSnapshotCommon.Edge} edge + * @param {!HeapSnapshotModel.Edge} edge * @param {?Profiler.HeapSnapshotRetainingObjectNode} parentRetainingObjectNode */ constructor(dataGrid, snapshot, edge, parentRetainingObjectNode) { @@ -821,7 +821,7 @@ /** * @override - * @param {!Profiler.HeapSnapshotCommon.Edge} item + * @param {!HeapSnapshotModel.Edge} item * @return {!Profiler.HeapSnapshotRetainingObjectNode} */ _createChildNode(item) { @@ -879,7 +879,7 @@ /** * @param {!Profiler.HeapSnapshotSortableDataGrid} dataGrid * @param {!Profiler.HeapSnapshotProxy} snapshot - * @param {!Profiler.HeapSnapshotCommon.Node} node + * @param {!HeapSnapshotModel.Node} node * @param {boolean} isDeletedNode */ constructor(dataGrid, snapshot, node, isDeletedNode) { @@ -922,7 +922,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.Edge} item + * @param {!HeapSnapshotModel.Edge} item * @return {!Profiler.HeapSnapshotObjectNode} */ _createChildNode(item) { @@ -930,7 +930,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.Edge} edge + * @param {!HeapSnapshotModel.Edge} edge * @return {number} */ _childHashForEntity(edge) { @@ -946,7 +946,7 @@ } /** - * @return {!Profiler.HeapSnapshotCommon.ComparatorConfig} + * @return {!HeapSnapshotModel.ComparatorConfig} */ comparator() { var sortAscending = this._dataGrid.isSortOrderAscending(); @@ -972,8 +972,8 @@ /** * @param {!Profiler.HeapSnapshotConstructorsDataGrid} dataGrid * @param {string} className - * @param {!Profiler.HeapSnapshotCommon.Aggregate} aggregate - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} nodeFilter + * @param {!HeapSnapshotModel.Aggregate} aggregate + * @param {!HeapSnapshotModel.NodeFilter} nodeFilter */ constructor(dataGrid, className, aggregate, nodeFilter) { super(dataGrid, aggregate.count > 0); @@ -1077,7 +1077,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.Node} item + * @param {!HeapSnapshotModel.Node} item * @return {!Profiler.HeapSnapshotInstanceNode} */ _createChildNode(item) { @@ -1085,7 +1085,7 @@ } /** - * @return {!Profiler.HeapSnapshotCommon.ComparatorConfig} + * @return {!HeapSnapshotModel.ComparatorConfig} */ comparator() { var sortAscending = this._dataGrid.isSortOrderAscending(); @@ -1101,7 +1101,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.Node} node + * @param {!HeapSnapshotModel.Node} node * @return {number} */ _childHashForEntity(node) { @@ -1164,11 +1164,11 @@ * @override * @param {number} beginPosition * @param {number} endPosition - * @param {function(!Profiler.HeapSnapshotCommon.ItemsRange)} callback + * @param {function(!HeapSnapshotModel.ItemsRange)} callback */ serializeItemsRange(beginPosition, endPosition, callback) { /** - * @param {!Profiler.HeapSnapshotCommon.ItemsRange} items + * @param {!HeapSnapshotModel.ItemsRange} items * @this {Profiler.HeapSnapshotDiffNodesProvider} */ function didReceiveAllItems(items) { @@ -1177,8 +1177,8 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.ItemsRange} addedItems - * @param {!Profiler.HeapSnapshotCommon.ItemsRange} itemsRange + * @param {!HeapSnapshotModel.ItemsRange} addedItems + * @param {!HeapSnapshotModel.ItemsRange} itemsRange * @this {Profiler.HeapSnapshotDiffNodesProvider} */ function didReceiveDeletedItems(addedItems, itemsRange) { @@ -1194,7 +1194,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.ItemsRange} itemsRange + * @param {!HeapSnapshotModel.ItemsRange} itemsRange * @this {Profiler.HeapSnapshotDiffNodesProvider} */ function didReceiveAddedItems(itemsRange) { @@ -1213,7 +1213,7 @@ if (beginPosition < this._addedCount) { this._addedNodesProvider.serializeItemsRange(beginPosition, endPosition, didReceiveAddedItems.bind(this)); } else { - var emptyRange = new Profiler.HeapSnapshotCommon.ItemsRange(0, 0, 0, []); + var emptyRange = new HeapSnapshotModel.ItemsRange(0, 0, 0, []); this._deletedNodesProvider.serializeItemsRange( beginPosition - this._addedCount, endPosition - this._addedCount, didReceiveDeletedItems.bind(this, emptyRange)); @@ -1222,7 +1222,7 @@ /** * @override - * @param {!Profiler.HeapSnapshotCommon.ComparatorConfig} comparator + * @param {!HeapSnapshotModel.ComparatorConfig} comparator * @return {!Promise<?>} */ sortAndRewind(comparator) { @@ -1244,7 +1244,7 @@ /** * @param {!Profiler.HeapSnapshotDiffDataGrid} dataGrid * @param {string} className - * @param {!Profiler.HeapSnapshotCommon.DiffForClass} diffForClass + * @param {!HeapSnapshotModel.DiffForClass} diffForClass */ constructor(dataGrid, className, diffForClass) { super(dataGrid, true); @@ -1291,7 +1291,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.Node} item + * @param {!HeapSnapshotModel.Node} item * @return {!Profiler.HeapSnapshotInstanceNode} */ _createChildNode(item) { @@ -1302,7 +1302,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.Node} node + * @param {!HeapSnapshotModel.Node} node * @return {number} */ _childHashForEntity(node) { @@ -1318,7 +1318,7 @@ } /** - * @return {!Profiler.HeapSnapshotCommon.ComparatorConfig} + * @return {!HeapSnapshotModel.ComparatorConfig} */ comparator() { var sortAscending = this._dataGrid.isSortOrderAscending(); @@ -1359,7 +1359,7 @@ Profiler.AllocationGridNode = class extends Profiler.HeapSnapshotGridNode { /** * @param {!Profiler.AllocationDataGrid} dataGrid - * @param {!Profiler.HeapSnapshotCommon.SerializedAllocationNode} data + * @param {!HeapSnapshotModel.SerializedAllocationNode} data */ constructor(dataGrid, data) { super(dataGrid, data.hasChildren); @@ -1384,7 +1384,7 @@ this._dataGrid.snapshot.allocationNodeCallers(this._allocationNode.id, didReceiveCallers.bind(this)); /** - * @param {!Profiler.HeapSnapshotCommon.AllocationNodeCallers} callers + * @param {!HeapSnapshotModel.AllocationNodeCallers} callers * @this {Profiler.AllocationGridNode} */ function didReceiveCallers(callers) {
diff --git a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotProxy.js b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotProxy.js index 0005305..7020403 100644 --- a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotProxy.js +++ b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotProxy.js
@@ -334,13 +334,13 @@ */ constructor(worker, objectId) { super(worker, objectId); - /** @type {?Profiler.HeapSnapshotCommon.StaticData} */ + /** @type {?HeapSnapshotModel.StaticData} */ this._staticData = null; } /** - * @param {!Profiler.HeapSnapshotCommon.SearchConfig} searchConfig - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} filter + * @param {!HeapSnapshotModel.SearchConfig} searchConfig + * @param {!HeapSnapshotModel.NodeFilter} filter * @return {!Promise<!Array<number>>} */ search(searchConfig, filter) { @@ -348,8 +348,8 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} filter - * @param {function(!Object.<string, !Profiler.HeapSnapshotCommon.Aggregate>)} callback + * @param {!HeapSnapshotModel.NodeFilter} filter + * @param {function(!Object.<string, !HeapSnapshotModel.Aggregate>)} callback */ aggregatesWithFilter(filter, callback) { this.callMethod(callback, 'aggregatesWithFilter', filter); @@ -415,7 +415,7 @@ /** * @param {string} className - * @param {!Profiler.HeapSnapshotCommon.NodeFilter} nodeFilter + * @param {!HeapSnapshotModel.NodeFilter} nodeFilter * @return {?Profiler.HeapSnapshotProviderProxy} */ createNodesProviderForClass(className, nodeFilter) { @@ -429,7 +429,7 @@ /** * @param {number} nodeId - * @param {function(!Profiler.HeapSnapshotCommon.AllocationNodeCallers)} callback + * @param {function(!HeapSnapshotModel.AllocationNodeCallers)} callback */ allocationNodeCallers(nodeId, callback) { this.callMethod(callback, 'allocationNodeCallers', nodeId); @@ -437,7 +437,7 @@ /** * @param {number} nodeIndex - * @param {function(?Array.<!Profiler.HeapSnapshotCommon.AllocationStackFrame>)} callback + * @param {function(?Array.<!HeapSnapshotModel.AllocationStackFrame>)} callback */ allocationStack(nodeIndex, callback) { this.callMethod(callback, 'allocationStack', nodeIndex); @@ -460,7 +460,7 @@ updateStaticData(callback) { /** - * @param {!Profiler.HeapSnapshotCommon.StaticData} staticData + * @param {!HeapSnapshotModel.StaticData} staticData * @this {Profiler.HeapSnapshotProxy} */ function dataReceived(staticData) { @@ -471,14 +471,14 @@ } /** - * @return {!Promise.<!Profiler.HeapSnapshotCommon.Statistics>} + * @return {!Promise.<!HeapSnapshotModel.Statistics>} */ getStatistics() { return this._callMethodPromise('getStatistics'); } /** - * @return {!Promise.<?Profiler.HeapSnapshotCommon.Samples>} + * @return {!Promise.<?HeapSnapshotModel.Samples>} */ getSamples() { return this._callMethodPromise('getSamples'); @@ -538,7 +538,7 @@ * @override * @param {number} startPosition * @param {number} endPosition - * @param {function(!Profiler.HeapSnapshotCommon.ItemsRange)} callback + * @param {function(!HeapSnapshotModel.ItemsRange)} callback */ serializeItemsRange(startPosition, endPosition, callback) { this.callMethod(callback, 'serializeItemsRange', startPosition, endPosition); @@ -546,7 +546,7 @@ /** * @override - * @param {!Profiler.HeapSnapshotCommon.ComparatorConfig} comparator + * @param {!HeapSnapshotModel.ComparatorConfig} comparator * @return {!Promise<?>} */ sortAndRewind(comparator) {
diff --git a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotView.js b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotView.js index 5566e213..6d71c63 100644 --- a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotView.js +++ b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotView.js
@@ -212,7 +212,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.Statistics} statistics + * @param {!HeapSnapshotModel.Statistics} statistics */ _gotStatistics(statistics) { this._statisticsView.setTotal(statistics.total); @@ -303,7 +303,7 @@ * @param {boolean=} jumpBackwards */ performSearch(searchConfig, shouldJump, jumpBackwards) { - var nextQuery = new Profiler.HeapSnapshotCommon.SearchConfig( + var nextQuery = new HeapSnapshotModel.SearchConfig( searchConfig.query.trim(), searchConfig.caseSensitive, searchConfig.isRegex, shouldJump, jumpBackwards || false); @@ -311,7 +311,7 @@ } /** - * @param {!Profiler.HeapSnapshotCommon.SearchConfig} nextQuery + * @param {!HeapSnapshotModel.SearchConfig} nextQuery * @return {!Promise<?>} */ _performSearch(nextQuery) { @@ -1416,13 +1416,13 @@ * @param {*} data */ _handleWorkerEvent(eventName, data) { - if (Profiler.HeapSnapshotProgressEvent.BrokenSnapshot === eventName) { + if (HeapSnapshotModel.HeapSnapshotProgressEvent.BrokenSnapshot === eventName) { var error = /** @type {string} */ (data); Common.console.error(error); return; } - if (Profiler.HeapSnapshotProgressEvent.Update !== eventName) + if (HeapSnapshotModel.HeapSnapshotProgressEvent.Update !== eventName) return; var subtitle = /** @type {string} */ (data); this.updateStatus(subtitle); @@ -1686,7 +1686,7 @@ } /** - * @param {?Profiler.HeapSnapshotCommon.Samples} samples + * @param {?HeapSnapshotModel.Samples} samples */ _setSamples(samples) { if (!samples) @@ -2081,7 +2081,7 @@ } /** - * @param {?Array.<!Profiler.HeapSnapshotCommon.AllocationStackFrame>} frames + * @param {?Array.<!HeapSnapshotModel.AllocationStackFrame>} frames */ _didReceiveAllocationStack(frames) { if (!frames) {
diff --git a/third_party/WebKit/Source/devtools/front_end/profiler/module.json b/third_party/WebKit/Source/devtools/front_end/profiler/module.json index f312223..a980c23 100644 --- a/third_party/WebKit/Source/devtools/front_end/profiler/module.json +++ b/third_party/WebKit/Source/devtools/front_end/profiler/module.json
@@ -74,7 +74,8 @@ "dependencies": [ "components", "perf_ui", - "data_grid" + "data_grid", + "heap_snapshot_model" ], "scripts": [ "ProfilesPanel.js", @@ -85,7 +86,6 @@ "CPUProfileFlameChart.js", "CPUProfileView.js", "HeapProfileView.js", - "HeapSnapshotCommon.js", "HeapSnapshotProxy.js", "HeapSnapshotDataGrids.js", "HeapSnapshotGridNodes.js",
diff --git a/third_party/WebKit/Source/devtools/front_end/quick_open/CommandMenu.js b/third_party/WebKit/Source/devtools/front_end/quick_open/CommandMenu.js index 361ec4df..d163fa3 100644 --- a/third_party/WebKit/Source/devtools/front_end/quick_open/CommandMenu.js +++ b/third_party/WebKit/Source/devtools/front_end/quick_open/CommandMenu.js
@@ -242,6 +242,14 @@ renderMonospace() { return false; } + + /** + * @override + * @return {string} + */ + notFoundText() { + return Common.UIString('No commands found'); + } }; QuickOpen.CommandMenuDelegate.MaterialPaletteColors = [
diff --git a/third_party/WebKit/Source/devtools/front_end/quick_open/FilteredListWidget.js b/third_party/WebKit/Source/devtools/front_end/quick_open/FilteredListWidget.js index a56b28e..1b69fe23 100644 --- a/third_party/WebKit/Source/devtools/front_end/quick_open/FilteredListWidget.js +++ b/third_party/WebKit/Source/devtools/front_end/quick_open/FilteredListWidget.js
@@ -18,8 +18,6 @@ this.contentElement.classList.add('filtered-list-widget'); this.contentElement.addEventListener('keydown', this._onKeyDown.bind(this), true); - if (delegate.renderMonospace()) - this.contentElement.classList.add('monospace'); this.registerRequiredCSS('quick_open/filteredListWidget.css'); this._promptElement = this.contentElement.createChild('div', 'filtered-list-widget-input'); @@ -32,7 +30,8 @@ promptProxy.addEventListener('input', this._onInput.bind(this), false); promptProxy.classList.add('filtered-list-widget-prompt-element'); - this._progressElement = this.contentElement.createChild('div', 'filtered-list-widget-progress'); + this._bottomElementsContainer = this.contentElement.createChild('div', 'vbox'); + this._progressElement = this._bottomElementsContainer.createChild('div', 'filtered-list-widget-progress'); this._progressBarElement = this._progressElement.createChild('div', 'filtered-list-widget-progress-bar'); /** @type {!UI.ListControl<number>} */ @@ -40,7 +39,15 @@ this._itemElementsContainer = this._list.element; this._itemElementsContainer.classList.add('container'); this._itemElementsContainer.addEventListener('click', this._onClick.bind(this), false); - this.contentElement.appendChild(this._itemElementsContainer); + this._bottomElementsContainer.appendChild(this._itemElementsContainer); + + if (delegate.renderMonospace()) { + this._list.element.classList.add('monospace'); + this._promptElement.classList.add('monospace'); + } + + this._notFoundElement = this._bottomElementsContainer.createChild('div', 'not-found-text'); + this._notFoundElement.classList.add('hidden'); this.setDefaultFocusedElement(this._promptElement); @@ -111,10 +118,11 @@ showAsDialog() { this._dialog = new UI.Dialog(); - this._dialog.setMaxSize(new Size(504, 340)); + this._dialog.setWrapsContent(true); this._dialog.setPosition(undefined, 22); this.show(this._dialog.element); this._dialog.show(); + this._updateShowMatchingItems(); } /** @@ -178,6 +186,7 @@ var subtitleElement = itemElement.createChild('div', 'filtered-list-widget-subtitle'); subtitleElement.textContent = '\u200B'; this._delegate.renderItem(item, this._value(), titleElement, subtitleElement); + return itemElement; } @@ -220,6 +229,7 @@ this._prompt.setText(query); this._prompt.autoCompleteSoon(true); this._scheduleFilter(); + this._updateShowMatchingItems(); } _tabKeyPressed() { @@ -330,13 +340,31 @@ _refreshList(bestItems, overflowItems, filteredItems) { delete this._refreshListWithCurrentResult; filteredItems = [].concat(bestItems, overflowItems, filteredItems); + this._updateNotFoundMessage(!!filteredItems.length); this._list.replaceAllItems(filteredItems); if (filteredItems.length) this._list.selectItemAtIndex(0, true); + + var beforeDialogHeight = this._dialog.element.style.height; + this._dialog.contentResized(); + // If the dialog height changed, the viewport might need to be resized. + // We use the CSS on the dialog to avoid measuring it directly. + if (beforeDialogHeight !== this._dialog.element.style.height) + this._list.viewportResized(); this._itemsFilteredForTest(); } /** + * @param {boolean} hasItems + */ + _updateNotFoundMessage(hasItems) { + this._list.element.classList.toggle('hidden', !hasItems); + this._notFoundElement.classList.toggle('hidden', hasItems); + if (!hasItems) + this._notFoundElement.textContent = this._delegate.notFoundText(); + } + + /** * @return {boolean} */ _shouldShowMatchingItems() { @@ -350,7 +378,7 @@ _updateShowMatchingItems() { var shouldShowMatchingItems = this._shouldShowMatchingItems(); - this._itemElementsContainer.classList.toggle('hidden', !shouldShowMatchingItems); + this._bottomElementsContainer.classList.toggle('hidden', !shouldShowMatchingItems); } /** @@ -510,6 +538,13 @@ return query; } + /** + * @return {string} + */ + notFoundText() { + return Common.UIString('No results found'); + } + dispose() { } };
diff --git a/third_party/WebKit/Source/devtools/front_end/quick_open/filteredListWidget.css b/third_party/WebKit/Source/devtools/front_end/quick_open/filteredListWidget.css index be8a73f..f9f51f5 100644 --- a/third_party/WebKit/Source/devtools/front_end/quick_open/filteredListWidget.css +++ b/third_party/WebKit/Source/devtools/front_end/quick_open/filteredListWidget.css
@@ -8,6 +8,8 @@ display: flex; flex-direction: column; flex: auto; + width: 504px; + max-height: 340px; } .filtered-list-widget-prompt-element { @@ -109,3 +111,12 @@ .filtered-list-widget-item .tag .highlight { color: white; } + +.not-found-text { + height: 34px; + line-height: 34px; + padding-left: 4px; + font-style: italic; + color: #888; + background: #fbfbfb; +}
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js b/third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js index a374fd4..e8a4801 100644 --- a/third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js +++ b/third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js
@@ -205,6 +205,14 @@ /** * @override + * @return {string} + */ + notFoundText() { + return Common.UIString('No files found'); + } + + /** + * @override */ dispose() { Workspace.workspace.removeEventListener(
diff --git a/third_party/WebKit/Source/devtools/scripts/extract_module/extract_module.js b/third_party/WebKit/Source/devtools/scripts/extract_module/extract_module.js index 0bef616..1928a22 100644 --- a/third_party/WebKit/Source/devtools/scripts/extract_module/extract_module.js +++ b/third_party/WebKit/Source/devtools/scripts/extract_module/extract_module.js
@@ -13,68 +13,32 @@ const APPLICATION_DESCRIPTORS = [ 'inspector.json', + 'toolbox.json', 'unit_test_runner.json', + 'formatter_worker.json', + 'heap_snapshot_worker.json', + 'utility_shared_worker.json', ]; // Replace based on specified transformation -const MODULES_TO_REMOVE = ['components_lazy', 'ui_lazy']; +const MODULES_TO_REMOVE = []; const JS_FILES_MAPPING = [ - {file: 'components_lazy/CookiesTable.js', new: 'cookie_table'}, - {file: 'ui/BezierEditor.js', new: 'inline_editor'}, - {file: 'ui/BezierUI.js', new: 'inline_editor'}, - {file: 'ui/ColorSwatch.js', new: 'inline_editor'}, - {file: 'ui/CSSShadowEditor.js', new: 'inline_editor'}, - {file: 'ui/SwatchPopoverHelper.js', new: 'inline_editor'}, - {file: 'components/Spectrum.js', new: 'color_picker'}, - - // Cannot extract dom_ui because of cyclic dependency with components - // {file: 'components/DOMPresentationUtils.js', new: 'dom_ui'}, - {file: 'components/ExecutionContextSelector.js', existing: 'main'}, - {file: 'components_lazy/FilmStripModel.js', existing: 'sdk'}, - {file: 'components_lazy/FilmStripView.js', existing: 'perf_ui'}, - {file: 'components/ShortcutsScreen.js', existing: 'ui'}, - {file: 'ui_lazy/DataGrid.js', new: 'data_grid'}, - {file: 'ui_lazy/ViewportDataGrid.js', new: 'data_grid'}, - {file: 'ui_lazy/SortableDataGrid.js', new: 'data_grid'}, - {file: 'ui_lazy/ShowMoreDataGridNode.js', new: 'data_grid'}, - {file: 'ui_lazy/ChartViewport.js', existing: 'perf_ui'}, - {file: 'ui_lazy/FlameChart.js', existing: 'perf_ui'}, - {file: 'ui_lazy/OverviewGrid.js', existing: 'perf_ui'}, - {file: 'ui_lazy/PieChart.js', existing: 'perf_ui'}, - {file: 'ui_lazy/TimelineGrid.js', existing: 'perf_ui'}, - {file: 'ui_lazy/TimelineOverviewPane.js', existing: 'perf_ui'}, + {file: 'profiler/HeapSnapshotModel.js', new: 'heap_snapshot_model'}, + // {file: 'module/file.js', existing: 'module'} ]; const MODULE_MAPPING = { - cookie_table: { - dependencies: ['ui', 'sdk', 'data_grid'], - dependents: ['resources', 'network'], - applications: ['inspector.json'], - autostart: false, - }, - inline_editor: { - dependencies: ['ui'], - dependents: ['sources', 'elements', 'resources'], - applications: ['inspector.json', 'unit_test_runner.json'], - autostart: false, - }, - color_picker: { - dependencies: ['ui', 'sdk'], - dependents: ['sources', 'elements'], - applications: ['inspector.json'], - autostart: false, - }, - data_grid: { - dependencies: ['ui'], - dependents: ['network', 'profiler', 'resources', 'console', 'timeline'], - applications: ['inspector.json', 'unit_test_runner.json'], + heap_snapshot_model: { + dependencies: [], + dependents: ['heap_snapshot_worker', 'profiler'], + applications: ['inspector.json'], // need to manually add to heap snapshot worker b/c it's autostart autostart: false, }, }; const NEW_DEPENDENCIES_BY_EXISTING_MODULES = { - resources: ['components'], + // resources: ['components'], }; const REMOVE_DEPENDENCIES_BY_EXISTING_MODULES = { @@ -112,6 +76,7 @@ const cssFilesMapping = findCSSFiles(); const identifiersByFile = calculateIdentifiers(); const identifierMap = mapIdentifiers(identifiersByFile, cssFilesMapping); + console.log('identifierMap', identifierMap); const extensionMap = removeFromExistingModuleDescriptors(modules, identifierMap, cssFilesMapping); // Find out which files are moving extensions @@ -269,7 +234,7 @@ content: newContent, startLine: 'all_devtools_files = [', endLine: ']', - linesToInsert: newSourcesToAdd, + linesToInsert: newSourcesToAdd.concat([...newModuleSet].map(module => `"front_end/${module}/module.json",`)), }); fs.writeFileSync(BUILD_GN_PATH, newContent); @@ -337,6 +302,14 @@ let components = identifier.split('.'); components[0] = mapModuleToNamespace(targetModule); let newIdentifier = components.join('.'); + // one-off + if (targetModule === 'heap_snapshot_model' && components[1] === 'HeapSnapshotCommon') { + newIdentifier = [components[0]].concat(components.slice(2)).join('.'); + if (newIdentifier === 'HeapSnapshotModel') { + identifier = 'Profiler.HeapSnapshotCommon = {};\n\n'; + newIdentifier = ''; + } + } map.set(identifier, newIdentifier); } } @@ -395,15 +368,6 @@ let newIdentifier = identifierMap.get(key); newContent = newContent.replaceAll(originalIdentifier, newIdentifier); } - // one-off - if (filePath.includes('LayoutTests/http/tests/inspector-unit/filtered-item-selection-dialog-filtering.js')) - newContent = newContent.replaceAll('ui_lazy', 'quick_open'); - if (filePath.includes('LayoutTests/inspector/components/cookies-table.html')) - newContent = newContent.replaceAll('components_lazy', 'cookie_table'); - if (filePath.includes('LayoutTests/inspector/components/datagrid-autosize.html')) - newContent = newContent.replaceAll('ui_lazy', 'data_grid'); - if (filePath.includes('LayoutTests/inspector/components/datagrid-test.js')) - newContent = newContent.replaceAll('ui_lazy', 'data_grid'); if (content !== newContent) fs.writeFileSync(filePath, newContent); @@ -655,6 +619,8 @@ function updateApplicationDescriptor(descriptorFileName, newModuleSet) { let descriptorPath = path.join(FRONTEND_PATH, descriptorFileName); let newModules = [...newModuleSet].filter(m => APPLICATIONS_BY_MODULE[m].includes(descriptorFileName)); + if (newModules.length === 0) + return; let includeNewModules = (acc, line) => { if (line.includes('{') && line.endsWith('}')) { line += ',';
diff --git a/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in b/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in index dc87b69..a5f2c0a 100644 --- a/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in +++ b/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
@@ -283,3 +283,4 @@ SendBeaconThrowForBlobWithNonSimpleType status=experimental PerformanceNavigationTiming2 status=experimental BackgroundVideoTrackOptimization status=stable +PerformancePaintTiming status=test
diff --git a/third_party/WebKit/Source/platform/graphics/Color.cpp b/third_party/WebKit/Source/platform/graphics/Color.cpp index 3ad2e4d..3b406bf 100644 --- a/third_party/WebKit/Source/platform/graphics/Color.cpp +++ b/third_party/WebKit/Source/platform/graphics/Color.cpp
@@ -210,7 +210,16 @@ result.appendNumber(static_cast<unsigned char>(blue())); if (colorHasAlpha) { result.append(", "); - result.appendNumber(alpha() / 255.0f, 6); + // See <alphavalue> section in + // http://dev.w3.org/csswg/cssom/#serializing-css-values + int alphavalue = alpha(); + float rounded = round(alphavalue * 100 / 255.0f) / 100; + if (round(rounded * 255) == alphavalue) { + result.appendNumber(rounded, 2); + } else { + rounded = round(alphavalue * 1000 / 255.0f) / 1000; + result.appendNumber(rounded, 3); + } } result.append(')');
diff --git a/third_party/WebKit/Source/web/tests/WebViewTest.cpp b/third_party/WebKit/Source/web/tests/WebViewTest.cpp index 05efa64..ce611195 100644 --- a/third_party/WebKit/Source/web/tests/WebViewTest.cpp +++ b/third_party/WebKit/Source/web/tests/WebViewTest.cpp
@@ -395,11 +395,11 @@ "style></head></html>", baseURL); // Expected: red (50% alpha) blended atop base of kBlue. - EXPECT_EQ(0xFF7F0080, webView->backgroundColor()); + EXPECT_EQ(0xFF80007F, webView->backgroundColor()); webView->setBaseBackgroundColor(kTranslucentPutty); // Expected: red (50% alpha) blended atop kTranslucentPutty. Note the alpha. - EXPECT_EQ(0xBFE93B32, webView->backgroundColor()); + EXPECT_EQ(0xBFE93A31, webView->backgroundColor()); webView->setBaseBackgroundColor(kTransparent); FrameTestHelpers::loadHTMLString(webView->mainFrame(),
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem.py index 63a84c7..d776810 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem.py
@@ -79,6 +79,9 @@ def exists(self, path): return os.path.exists(path) + def getsize(self, path): + return os.path.getsize(path) + def files_under(self, path, dirs_to_skip=[], file_filter=None): """Return the list of all files under the given path in topdown order.
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem_mock.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem_mock.py index 80d30a4..301ae26 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem_mock.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem_mock.py
@@ -124,6 +124,11 @@ def exists(self, path): return self.isfile(path) or self.isdir(path) + def getsize(self, path): + if not self.exists(path): + self._raise_not_found(path) + return len(self.read_binary_file(path)) + def files_under(self, path, dirs_to_skip=None, file_filter=None): dirs_to_skip = dirs_to_skip or []
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py index 0e0c7e7f..b793814 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py
@@ -199,6 +199,7 @@ return method(source, *args) raise AssertionError('unknown message %s received from %s, args=%s' % (name, source, repr(args))) + # The _handle_* methods below are called indirectly by handle(). def _handle_started_test(self, worker_name, test_input): self._printer.print_started_test(test_input.test_name)
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py index 5966645..6eae779 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py
@@ -79,6 +79,8 @@ self._should_have_http_lock = http_lock def handle_finished_list(self, source, list_name, num_tests, elapsed_time): + # TODO(qyearsley): This is never called; it should be fixed or removed. + self._tester.fail('This is never called') if not self._finished_list_called: self._tester.assertEqual(list_name, 'locked_tests') self._tester.assertTrue(self._remaining_locked_shards)
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/WPTHeads b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/WPTHeads index 0a32489..ce28f2fd 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/WPTHeads +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/WPTHeads
@@ -1,4 +1,4 @@ -a014b88ca26296bc09e362795ad9c52463f69b91 -./ tools 35d2dd69e32e2e08d5fcff72e6feeb42b206710e +82173128ef6f536e5faaafc29eecc521380f81ae +./ tools 8e71a1002c843eb363b8583645b433a5ee833ace ./tools wptserve 6059a5e2703b914192cc3cd76e707363187d85fa ./tools six 3b6173c833d217ab0186c355804f5925cbcfca47
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/WPTWhiteList b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/WPTWhiteList index 5f25c307..75b6e8f5 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/WPTWhiteList +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/WPTWhiteList
@@ -1,13 +1,25 @@ ./config.default.json ./CONTRIBUTING.md -./LICENSE ./.gitignore ./__init__.py +./LICENSE.md +./manifest ./serve ./serve.py ./tools/__init__.py ./tools/LICENSE ./tools/localpaths.py +./tools/manifest/catalog/xhtml.dtd +./tools/manifest/__init__.py +./tools/manifest/item.py +./tools/manifest/log.py +./tools/manifest/manifest.py +./tools/manifest/sourcefile.py +./tools/manifest/tests +./tools/manifest/update.py +./tools/manifest/utils.py +./tools/manifest/vcs.py +./tools/manifest/XMLParser.py ./tools/serve/__init__.py ./tools/serve/serve.py ./tools/six/CHANGES @@ -15,16 +27,16 @@ ./tools/six/LICENSE ./tools/six/README ./tools/six/six.py -./tools/sslutils/__init__.py ./tools/sslutils/base.py +./tools/sslutils/__init__.py ./tools/sslutils/openssl.py ./tools/sslutils/pregenerated.py ./tools/wptserve/.gitignore ./tools/wptserve/LICENSE ./tools/wptserve/README.md -./tools/wptserve/wptserve/__init__.py ./tools/wptserve/wptserve/constants.py ./tools/wptserve/wptserve/handlers.py +./tools/wptserve/wptserve/__init__.py ./tools/wptserve/wptserve/logger.py ./tools/wptserve/wptserve/pipes.py ./tools/wptserve/wptserve/ranges.py
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/.gitignore b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/.gitignore index b70cb0f..162fd51 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/.gitignore +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/.gitignore
@@ -5,6 +5,7 @@ MANIFEST.json \#* _certs +.virtualenv config.json node_modules scratch
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE deleted file mode 100644 index f3d6617..0000000 --- a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE +++ /dev/null
@@ -1,3 +0,0 @@ -This repository is covered by the dual-licensing approach described in: - - http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE.md b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE.md new file mode 100644 index 0000000..eeae5050 --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE.md
@@ -0,0 +1,33 @@ +#Dual-License for W3C Test Suites + +All documents in this Repository are licensed by contributors to be distributed under both the [W3C Test Suite License](#w3c-test-suite-license) and the [W3C 3-clause BSD License](#w3c-3-clause-bsd-license), reproduced below. The choice of license is up to the licensee. For more information, see [Licenses for W3C Test Suites](https://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html) + +# W3C Test Suite License + +This document, Test Suites and other documents that link to this statement are provided by the copyright holders under the following license: By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions: + +Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use: + +* A link or URL to the original W3C document. +* The pre-existing copyright notice of the original author, or if it doesn't exist, a notice (hypertext is preferred, but a textual representation is permitted) of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (MIT, ERCIM, Keio, Beihang) and others. All Rights Reserved. http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html" +* If it exists, the STATUS of the W3C document. + +When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof. + +No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements. + +If a Test Suite distinguishes the test harness (or, framework for navigation) and the actual tests, permission is given to remove or alter the harness or navigation if the Test Suite in question allows to do so. The tests themselves shall NOT be changed in any way. + +The name and trademarks of W3C and other copyright holders may NOT be used in advertising or publicity pertaining to this document or other documents that link to this statement without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders. Permission is given to use the trademarked string "W3C" within claims of performance concerning W3C Specifications or features described therein, and there only, if the test suite so authorizes. + +THIS WORK IS PROVIDED BY W3C, MIT, ERCIM, KEIO, BEIHANG, THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL W3C, MIT, ERCIM, KEIO, BEIHANG, THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# W3C 3-clause BSD License + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of works must retain the original copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the original copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name of the W3C nor the names of its contributors may be used to endorse or promote products derived from this work without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/manifest b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/manifest new file mode 100755 index 0000000..edebae6 --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/manifest
@@ -0,0 +1,8 @@ +#!/usr/bin/env python +import os +import sys + +from tools.manifest import update + +update.main(default_tests_root= + os.path.abspath(os.path.dirname(__file__)))
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/XMLParser.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/XMLParser.py new file mode 100644 index 0000000..5ceeb0b --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/XMLParser.py
@@ -0,0 +1,126 @@ +from os.path import dirname, join + +from collections import OrderedDict + +from xml.parsers import expat +import xml.etree.ElementTree as etree + +_catalog = join(dirname(__file__), "catalog") + +def _wrap_error(e): + err = etree.ParseError(e) + err.code = e.code + err.position = e.lineno, e.offset + raise err + +_names = {} +def _fixname(key): + try: + name = _names[key] + except KeyError: + name = key + if "}" in name: + name = "{" + name + _names[key] = name + return name + + +class XMLParser(object): + """ + An XML parser with support for XHTML DTDs and all Python-supported encodings + + This implements the API defined by + xml.etree.ElementTree.XMLParser, but supports XHTML DTDs + (therefore allowing XHTML entities) and supports all encodings + Python does, rather than just those supported by expat. + """ + def __init__(self, encoding=None): + self._parser = expat.ParserCreate(encoding, "}") + self._target = etree.TreeBuilder() + # parser settings + self._parser.buffer_text = 1 + self._parser.ordered_attributes = 1 + self._parser.SetParamEntityParsing(expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE) + # parser callbacks + self._parser.XmlDeclHandler = self._xml_decl + self._parser.StartElementHandler = self._start + self._parser.EndElementHandler = self._end + self._parser.CharacterDataHandler = self._data + self._parser.ExternalEntityRefHandler = self._external + self._parser.SkippedEntityHandler = self._skipped + # used for our horrible re-encoding hack + self._fed_data = [] + self._read_encoding = None + + def _xml_decl(self, version, encoding, standalone): + self._read_encoding = encoding + + def _start(self, tag, attrib_in): + self._fed_data = None + tag = _fixname(tag) + attrib = OrderedDict() + if attrib_in: + for i in range(0, len(attrib_in), 2): + attrib[_fixname(attrib_in[i])] = attrib_in[i+1] + return self._target.start(tag, attrib) + + def _data(self, text): + return self._target.data(text) + + def _end(self, tag): + return self._target.end(_fixname(tag)) + + def _external(self, context, base, systemId, publicId): + if publicId in { + "-//W3C//DTD XHTML 1.0 Transitional//EN", + "-//W3C//DTD XHTML 1.1//EN", + "-//W3C//DTD XHTML 1.0 Strict//EN", + "-//W3C//DTD XHTML 1.0 Frameset//EN", + "-//W3C//DTD XHTML Basic 1.0//EN", + "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN", + "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN", + "-//W3C//DTD MathML 2.0//EN", + "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" + }: + parser = self._parser.ExternalEntityParserCreate(context) + with open(join(_catalog, "xhtml.dtd"), "rb") as fp: + try: + parser.ParseFile(fp) + except expat.error: + return False + + return True + + def _skipped(self, name, is_parameter_entity): + err = expat.error("undefined entity %s: line %d, column %d" % + (name, self._parser.ErrorLineNumber, + self._parser.ErrorColumnNumber)) + err.code = expat.errors.XML_ERROR_UNDEFINED_ENTITY + err.lineno = self._parser.ErrorLineNumber + err.offset = self._parser.ErrorColumnNumber + raise err + + def feed(self, data): + if self._fed_data is not None: + self._fed_data.append(data) + try: + self._parser.Parse(data, False) + except expat.error as v: + _wrap_error(v) + except ValueError as e: + if e.args[0] == 'multi-byte encodings are not supported': + assert self._read_encoding is not None + xml = b"".join(self._fed_data).decode(self._read_encoding).encode("utf-8") + new_parser = XMLParser("utf-8") + self._parser = new_parser._parser + self._target = new_parser._target + self._fed_data = None + self.feed(xml) + + def close(self): + try: + self._parser.Parse("", True) + except expat.error as v: + _wrap_error(v) + tree = self._target.close() + return tree
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/__init__.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/__init__.py new file mode 100644 index 0000000..72b7ee5 --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/__init__.py
@@ -0,0 +1,4 @@ +from . import item +from . import manifest +from . import sourcefile +from . import update
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/catalog/xhtml.dtd b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/catalog/xhtml.dtd new file mode 100644 index 0000000..4307b1c --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/catalog/xhtml.dtd
@@ -0,0 +1,2125 @@ +<!ENTITY Tab "	"> +<!ENTITY NewLine "
"> +<!ENTITY excl "!"> +<!ENTITY quot """> +<!ENTITY QUOT """> +<!ENTITY num "#"> +<!ENTITY dollar "$"> +<!ENTITY percnt "%"> +<!ENTITY amp "&#x26;"> +<!ENTITY AMP "&#x26;"> +<!ENTITY apos "'"> +<!ENTITY lpar "("> +<!ENTITY rpar ")"> +<!ENTITY ast "*"> +<!ENTITY midast "*"> +<!ENTITY plus "+"> +<!ENTITY comma ","> +<!ENTITY period "."> +<!ENTITY sol "/"> +<!ENTITY colon ":"> +<!ENTITY semi ";"> +<!ENTITY lt "&#x3C;"> +<!ENTITY LT "&#x3C;"> +<!ENTITY nvlt "&#x3C;⃒"> +<!ENTITY equals "="> +<!ENTITY bne "=⃥"> +<!ENTITY gt ">"> +<!ENTITY GT ">"> +<!ENTITY nvgt ">⃒"> +<!ENTITY quest "?"> +<!ENTITY commat "@"> +<!ENTITY lsqb "["> +<!ENTITY lbrack "["> +<!ENTITY bsol "\"> +<!ENTITY rsqb "]"> +<!ENTITY rbrack "]"> +<!ENTITY Hat "^"> +<!ENTITY lowbar "_"> +<!ENTITY UnderBar "_"> +<!ENTITY grave "`"> +<!ENTITY DiacriticalGrave "`"> +<!ENTITY fjlig "fj"> +<!ENTITY lcub "{"> +<!ENTITY lbrace "{"> +<!ENTITY verbar "|"> +<!ENTITY vert "|"> +<!ENTITY VerticalLine "|"> +<!ENTITY rcub "}"> +<!ENTITY rbrace "}"> +<!ENTITY nbsp " "> +<!ENTITY NonBreakingSpace " "> +<!ENTITY iexcl "¡"> +<!ENTITY cent "¢"> +<!ENTITY pound "£"> +<!ENTITY curren "¤"> +<!ENTITY yen "¥"> +<!ENTITY brvbar "¦"> +<!ENTITY sect "§"> +<!ENTITY Dot "¨"> +<!ENTITY die "¨"> +<!ENTITY DoubleDot "¨"> +<!ENTITY uml "¨"> +<!ENTITY copy "©"> +<!ENTITY COPY "©"> +<!ENTITY ordf "ª"> +<!ENTITY laquo "«"> +<!ENTITY not "¬"> +<!ENTITY shy "­"> +<!ENTITY reg "®"> +<!ENTITY circledR "®"> +<!ENTITY REG "®"> +<!ENTITY macr "¯"> +<!ENTITY strns "¯"> +<!ENTITY deg "°"> +<!ENTITY plusmn "±"> +<!ENTITY pm "±"> +<!ENTITY PlusMinus "±"> +<!ENTITY sup2 "²"> +<!ENTITY sup3 "³"> +<!ENTITY acute "´"> +<!ENTITY DiacriticalAcute "´"> +<!ENTITY micro "µ"> +<!ENTITY para "¶"> +<!ENTITY middot "·"> +<!ENTITY centerdot "·"> +<!ENTITY CenterDot "·"> +<!ENTITY cedil "¸"> +<!ENTITY Cedilla "¸"> +<!ENTITY sup1 "¹"> +<!ENTITY ordm "º"> +<!ENTITY raquo "»"> +<!ENTITY frac14 "¼"> +<!ENTITY frac12 "½"> +<!ENTITY half "½"> +<!ENTITY frac34 "¾"> +<!ENTITY iquest "¿"> +<!ENTITY Agrave "À"> +<!ENTITY Aacute "Á"> +<!ENTITY Acirc "Â"> +<!ENTITY Atilde "Ã"> +<!ENTITY Auml "Ä"> +<!ENTITY Aring "Å"> +<!ENTITY angst "Å"> +<!ENTITY AElig "Æ"> +<!ENTITY Ccedil "Ç"> +<!ENTITY Egrave "È"> +<!ENTITY Eacute "É"> +<!ENTITY Ecirc "Ê"> +<!ENTITY Euml "Ë"> +<!ENTITY Igrave "Ì"> +<!ENTITY Iacute "Í"> +<!ENTITY Icirc "Î"> +<!ENTITY Iuml "Ï"> +<!ENTITY ETH "Ð"> +<!ENTITY Ntilde "Ñ"> +<!ENTITY Ograve "Ò"> +<!ENTITY Oacute "Ó"> +<!ENTITY Ocirc "Ô"> +<!ENTITY Otilde "Õ"> +<!ENTITY Ouml "Ö"> +<!ENTITY times "×"> +<!ENTITY Oslash "Ø"> +<!ENTITY Ugrave "Ù"> +<!ENTITY Uacute "Ú"> +<!ENTITY Ucirc "Û"> +<!ENTITY Uuml "Ü"> +<!ENTITY Yacute "Ý"> +<!ENTITY THORN "Þ"> +<!ENTITY szlig "ß"> +<!ENTITY agrave "à"> +<!ENTITY aacute "á"> +<!ENTITY acirc "â"> +<!ENTITY atilde "ã"> +<!ENTITY auml "ä"> +<!ENTITY aring "å"> +<!ENTITY aelig "æ"> +<!ENTITY ccedil "ç"> +<!ENTITY egrave "è"> +<!ENTITY eacute "é"> +<!ENTITY ecirc "ê"> +<!ENTITY euml "ë"> +<!ENTITY igrave "ì"> +<!ENTITY iacute "í"> +<!ENTITY icirc "î"> +<!ENTITY iuml "ï"> +<!ENTITY eth "ð"> +<!ENTITY ntilde "ñ"> +<!ENTITY ograve "ò"> +<!ENTITY oacute "ó"> +<!ENTITY ocirc "ô"> +<!ENTITY otilde "õ"> +<!ENTITY ouml "ö"> +<!ENTITY divide "÷"> +<!ENTITY div "÷"> +<!ENTITY oslash "ø"> +<!ENTITY ugrave "ù"> +<!ENTITY uacute "ú"> +<!ENTITY ucirc "û"> +<!ENTITY uuml "ü"> +<!ENTITY yacute "ý"> +<!ENTITY thorn "þ"> +<!ENTITY yuml "ÿ"> +<!ENTITY Amacr "Ā"> +<!ENTITY amacr "ā"> +<!ENTITY Abreve "Ă"> +<!ENTITY abreve "ă"> +<!ENTITY Aogon "Ą"> +<!ENTITY aogon "ą"> +<!ENTITY Cacute "Ć"> +<!ENTITY cacute "ć"> +<!ENTITY Ccirc "Ĉ"> +<!ENTITY ccirc "ĉ"> +<!ENTITY Cdot "Ċ"> +<!ENTITY cdot "ċ"> +<!ENTITY Ccaron "Č"> +<!ENTITY ccaron "č"> +<!ENTITY Dcaron "Ď"> +<!ENTITY dcaron "ď"> +<!ENTITY Dstrok "Đ"> +<!ENTITY dstrok "đ"> +<!ENTITY Emacr "Ē"> +<!ENTITY emacr "ē"> +<!ENTITY Edot "Ė"> +<!ENTITY edot "ė"> +<!ENTITY Eogon "Ę"> +<!ENTITY eogon "ę"> +<!ENTITY Ecaron "Ě"> +<!ENTITY ecaron "ě"> +<!ENTITY Gcirc "Ĝ"> +<!ENTITY gcirc "ĝ"> +<!ENTITY Gbreve "Ğ"> +<!ENTITY gbreve "ğ"> +<!ENTITY Gdot "Ġ"> +<!ENTITY gdot "ġ"> +<!ENTITY Gcedil "Ģ"> +<!ENTITY Hcirc "Ĥ"> +<!ENTITY hcirc "ĥ"> +<!ENTITY Hstrok "Ħ"> +<!ENTITY hstrok "ħ"> +<!ENTITY Itilde "Ĩ"> +<!ENTITY itilde "ĩ"> +<!ENTITY Imacr "Ī"> +<!ENTITY imacr "ī"> +<!ENTITY Iogon "Į"> +<!ENTITY iogon "į"> +<!ENTITY Idot "İ"> +<!ENTITY imath "ı"> +<!ENTITY inodot "ı"> +<!ENTITY IJlig "IJ"> +<!ENTITY ijlig "ij"> +<!ENTITY Jcirc "Ĵ"> +<!ENTITY jcirc "ĵ"> +<!ENTITY Kcedil "Ķ"> +<!ENTITY kcedil "ķ"> +<!ENTITY kgreen "ĸ"> +<!ENTITY Lacute "Ĺ"> +<!ENTITY lacute "ĺ"> +<!ENTITY Lcedil "Ļ"> +<!ENTITY lcedil "ļ"> +<!ENTITY Lcaron "Ľ"> +<!ENTITY lcaron "ľ"> +<!ENTITY Lmidot "Ŀ"> +<!ENTITY lmidot "ŀ"> +<!ENTITY Lstrok "Ł"> +<!ENTITY lstrok "ł"> +<!ENTITY Nacute "Ń"> +<!ENTITY nacute "ń"> +<!ENTITY Ncedil "Ņ"> +<!ENTITY ncedil "ņ"> +<!ENTITY Ncaron "Ň"> +<!ENTITY ncaron "ň"> +<!ENTITY napos "ʼn"> +<!ENTITY ENG "Ŋ"> +<!ENTITY eng "ŋ"> +<!ENTITY Omacr "Ō"> +<!ENTITY omacr "ō"> +<!ENTITY Odblac "Ő"> +<!ENTITY odblac "ő"> +<!ENTITY OElig "Œ"> +<!ENTITY oelig "œ"> +<!ENTITY Racute "Ŕ"> +<!ENTITY racute "ŕ"> +<!ENTITY Rcedil "Ŗ"> +<!ENTITY rcedil "ŗ"> +<!ENTITY Rcaron "Ř"> +<!ENTITY rcaron "ř"> +<!ENTITY Sacute "Ś"> +<!ENTITY sacute "ś"> +<!ENTITY Scirc "Ŝ"> +<!ENTITY scirc "ŝ"> +<!ENTITY Scedil "Ş"> +<!ENTITY scedil "ş"> +<!ENTITY Scaron "Š"> +<!ENTITY scaron "š"> +<!ENTITY Tcedil "Ţ"> +<!ENTITY tcedil "ţ"> +<!ENTITY Tcaron "Ť"> +<!ENTITY tcaron "ť"> +<!ENTITY Tstrok "Ŧ"> +<!ENTITY tstrok "ŧ"> +<!ENTITY Utilde "Ũ"> +<!ENTITY utilde "ũ"> +<!ENTITY Umacr "Ū"> +<!ENTITY umacr "ū"> +<!ENTITY Ubreve "Ŭ"> +<!ENTITY ubreve "ŭ"> +<!ENTITY Uring "Ů"> +<!ENTITY uring "ů"> +<!ENTITY Udblac "Ű"> +<!ENTITY udblac "ű"> +<!ENTITY Uogon "Ų"> +<!ENTITY uogon "ų"> +<!ENTITY Wcirc "Ŵ"> +<!ENTITY wcirc "ŵ"> +<!ENTITY Ycirc "Ŷ"> +<!ENTITY ycirc "ŷ"> +<!ENTITY Yuml "Ÿ"> +<!ENTITY Zacute "Ź"> +<!ENTITY zacute "ź"> +<!ENTITY Zdot "Ż"> +<!ENTITY zdot "ż"> +<!ENTITY Zcaron "Ž"> +<!ENTITY zcaron "ž"> +<!ENTITY fnof "ƒ"> +<!ENTITY imped "Ƶ"> +<!ENTITY gacute "ǵ"> +<!ENTITY jmath "ȷ"> +<!ENTITY circ "ˆ"> +<!ENTITY caron "ˇ"> +<!ENTITY Hacek "ˇ"> +<!ENTITY breve "˘"> +<!ENTITY Breve "˘"> +<!ENTITY dot "˙"> +<!ENTITY DiacriticalDot "˙"> +<!ENTITY ring "˚"> +<!ENTITY ogon "˛"> +<!ENTITY tilde "˜"> +<!ENTITY DiacriticalTilde "˜"> +<!ENTITY dblac "˝"> +<!ENTITY DiacriticalDoubleAcute "˝"> +<!ENTITY DownBreve "̑"> +<!ENTITY Alpha "Α"> +<!ENTITY Beta "Β"> +<!ENTITY Gamma "Γ"> +<!ENTITY Delta "Δ"> +<!ENTITY Epsilon "Ε"> +<!ENTITY Zeta "Ζ"> +<!ENTITY Eta "Η"> +<!ENTITY Theta "Θ"> +<!ENTITY Iota "Ι"> +<!ENTITY Kappa "Κ"> +<!ENTITY Lambda "Λ"> +<!ENTITY Mu "Μ"> +<!ENTITY Nu "Ν"> +<!ENTITY Xi "Ξ"> +<!ENTITY Omicron "Ο"> +<!ENTITY Pi "Π"> +<!ENTITY Rho "Ρ"> +<!ENTITY Sigma "Σ"> +<!ENTITY Tau "Τ"> +<!ENTITY Upsilon "Υ"> +<!ENTITY Phi "Φ"> +<!ENTITY Chi "Χ"> +<!ENTITY Psi "Ψ"> +<!ENTITY Omega "Ω"> +<!ENTITY ohm "Ω"> +<!ENTITY alpha "α"> +<!ENTITY beta "β"> +<!ENTITY gamma "γ"> +<!ENTITY delta "δ"> +<!ENTITY epsi "ε"> +<!ENTITY epsilon "ε"> +<!ENTITY zeta "ζ"> +<!ENTITY eta "η"> +<!ENTITY theta "θ"> +<!ENTITY iota "ι"> +<!ENTITY kappa "κ"> +<!ENTITY lambda "λ"> +<!ENTITY mu "μ"> +<!ENTITY nu "ν"> +<!ENTITY xi "ξ"> +<!ENTITY omicron "ο"> +<!ENTITY pi "π"> +<!ENTITY rho "ρ"> +<!ENTITY sigmav "ς"> +<!ENTITY varsigma "ς"> +<!ENTITY sigmaf "ς"> +<!ENTITY sigma "σ"> +<!ENTITY tau "τ"> +<!ENTITY upsi "υ"> +<!ENTITY upsilon "υ"> +<!ENTITY phi "φ"> +<!ENTITY chi "χ"> +<!ENTITY psi "ψ"> +<!ENTITY omega "ω"> +<!ENTITY thetav "ϑ"> +<!ENTITY vartheta "ϑ"> +<!ENTITY thetasym "ϑ"> +<!ENTITY Upsi "ϒ"> +<!ENTITY upsih "ϒ"> +<!ENTITY straightphi "ϕ"> +<!ENTITY phiv "ϕ"> +<!ENTITY varphi "ϕ"> +<!ENTITY piv "ϖ"> +<!ENTITY varpi "ϖ"> +<!ENTITY Gammad "Ϝ"> +<!ENTITY gammad "ϝ"> +<!ENTITY digamma "ϝ"> +<!ENTITY kappav "ϰ"> +<!ENTITY varkappa "ϰ"> +<!ENTITY rhov "ϱ"> +<!ENTITY varrho "ϱ"> +<!ENTITY epsiv "ϵ"> +<!ENTITY straightepsilon "ϵ"> +<!ENTITY varepsilon "ϵ"> +<!ENTITY bepsi "϶"> +<!ENTITY backepsilon "϶"> +<!ENTITY IOcy "Ё"> +<!ENTITY DJcy "Ђ"> +<!ENTITY GJcy "Ѓ"> +<!ENTITY Jukcy "Є"> +<!ENTITY DScy "Ѕ"> +<!ENTITY Iukcy "І"> +<!ENTITY YIcy "Ї"> +<!ENTITY Jsercy "Ј"> +<!ENTITY LJcy "Љ"> +<!ENTITY NJcy "Њ"> +<!ENTITY TSHcy "Ћ"> +<!ENTITY KJcy "Ќ"> +<!ENTITY Ubrcy "Ў"> +<!ENTITY DZcy "Џ"> +<!ENTITY Acy "А"> +<!ENTITY Bcy "Б"> +<!ENTITY Vcy "В"> +<!ENTITY Gcy "Г"> +<!ENTITY Dcy "Д"> +<!ENTITY IEcy "Е"> +<!ENTITY ZHcy "Ж"> +<!ENTITY Zcy "З"> +<!ENTITY Icy "И"> +<!ENTITY Jcy "Й"> +<!ENTITY Kcy "К"> +<!ENTITY Lcy "Л"> +<!ENTITY Mcy "М"> +<!ENTITY Ncy "Н"> +<!ENTITY Ocy "О"> +<!ENTITY Pcy "П"> +<!ENTITY Rcy "Р"> +<!ENTITY Scy "С"> +<!ENTITY Tcy "Т"> +<!ENTITY Ucy "У"> +<!ENTITY Fcy "Ф"> +<!ENTITY KHcy "Х"> +<!ENTITY TScy "Ц"> +<!ENTITY CHcy "Ч"> +<!ENTITY SHcy "Ш"> +<!ENTITY SHCHcy "Щ"> +<!ENTITY HARDcy "Ъ"> +<!ENTITY Ycy "Ы"> +<!ENTITY SOFTcy "Ь"> +<!ENTITY Ecy "Э"> +<!ENTITY YUcy "Ю"> +<!ENTITY YAcy "Я"> +<!ENTITY acy "а"> +<!ENTITY bcy "б"> +<!ENTITY vcy "в"> +<!ENTITY gcy "г"> +<!ENTITY dcy "д"> +<!ENTITY iecy "е"> +<!ENTITY zhcy "ж"> +<!ENTITY zcy "з"> +<!ENTITY icy "и"> +<!ENTITY jcy "й"> +<!ENTITY kcy "к"> +<!ENTITY lcy "л"> +<!ENTITY mcy "м"> +<!ENTITY ncy "н"> +<!ENTITY ocy "о"> +<!ENTITY pcy "п"> +<!ENTITY rcy "р"> +<!ENTITY scy "с"> +<!ENTITY tcy "т"> +<!ENTITY ucy "у"> +<!ENTITY fcy "ф"> +<!ENTITY khcy "х"> +<!ENTITY tscy "ц"> +<!ENTITY chcy "ч"> +<!ENTITY shcy "ш"> +<!ENTITY shchcy "щ"> +<!ENTITY hardcy "ъ"> +<!ENTITY ycy "ы"> +<!ENTITY softcy "ь"> +<!ENTITY ecy "э"> +<!ENTITY yucy "ю"> +<!ENTITY yacy "я"> +<!ENTITY iocy "ё"> +<!ENTITY djcy "ђ"> +<!ENTITY gjcy "ѓ"> +<!ENTITY jukcy "є"> +<!ENTITY dscy "ѕ"> +<!ENTITY iukcy "і"> +<!ENTITY yicy "ї"> +<!ENTITY jsercy "ј"> +<!ENTITY ljcy "љ"> +<!ENTITY njcy "њ"> +<!ENTITY tshcy "ћ"> +<!ENTITY kjcy "ќ"> +<!ENTITY ubrcy "ў"> +<!ENTITY dzcy "џ"> +<!ENTITY ensp " "> +<!ENTITY emsp " "> +<!ENTITY emsp13 " "> +<!ENTITY emsp14 " "> +<!ENTITY numsp " "> +<!ENTITY puncsp " "> +<!ENTITY thinsp " "> +<!ENTITY ThinSpace " "> +<!ENTITY hairsp " "> +<!ENTITY VeryThinSpace " "> +<!ENTITY ZeroWidthSpace "​"> +<!ENTITY NegativeVeryThinSpace "​"> +<!ENTITY NegativeThinSpace "​"> +<!ENTITY NegativeMediumSpace "​"> +<!ENTITY NegativeThickSpace "​"> +<!ENTITY zwnj "‌"> +<!ENTITY zwj "‍"> +<!ENTITY lrm "‎"> +<!ENTITY rlm "‏"> +<!ENTITY hyphen "‐"> +<!ENTITY dash "‐"> +<!ENTITY ndash "–"> +<!ENTITY mdash "—"> +<!ENTITY horbar "―"> +<!ENTITY Verbar "‖"> +<!ENTITY Vert "‖"> +<!ENTITY lsquo "‘"> +<!ENTITY OpenCurlyQuote "‘"> +<!ENTITY rsquo "’"> +<!ENTITY rsquor "’"> +<!ENTITY CloseCurlyQuote "’"> +<!ENTITY lsquor "‚"> +<!ENTITY sbquo "‚"> +<!ENTITY ldquo "“"> +<!ENTITY OpenCurlyDoubleQuote "“"> +<!ENTITY rdquo "”"> +<!ENTITY rdquor "”"> +<!ENTITY CloseCurlyDoubleQuote "”"> +<!ENTITY ldquor "„"> +<!ENTITY bdquo "„"> +<!ENTITY dagger "†"> +<!ENTITY Dagger "‡"> +<!ENTITY ddagger "‡"> +<!ENTITY bull "•"> +<!ENTITY bullet "•"> +<!ENTITY nldr "‥"> +<!ENTITY hellip "…"> +<!ENTITY mldr "…"> +<!ENTITY permil "‰"> +<!ENTITY pertenk "‱"> +<!ENTITY prime "′"> +<!ENTITY Prime "″"> +<!ENTITY tprime "‴"> +<!ENTITY bprime "‵"> +<!ENTITY backprime "‵"> +<!ENTITY lsaquo "‹"> +<!ENTITY rsaquo "›"> +<!ENTITY oline "‾"> +<!ENTITY OverBar "‾"> +<!ENTITY caret "⁁"> +<!ENTITY hybull "⁃"> +<!ENTITY frasl "⁄"> +<!ENTITY bsemi "⁏"> +<!ENTITY qprime "⁗"> +<!ENTITY MediumSpace " "> +<!ENTITY ThickSpace "  "> +<!ENTITY NoBreak "⁠"> +<!ENTITY ApplyFunction "⁡"> +<!ENTITY af "⁡"> +<!ENTITY InvisibleTimes "⁢"> +<!ENTITY it "⁢"> +<!ENTITY InvisibleComma "⁣"> +<!ENTITY ic "⁣"> +<!ENTITY euro "€"> +<!ENTITY tdot "⃛"> +<!ENTITY TripleDot "⃛"> +<!ENTITY DotDot "⃜"> +<!ENTITY Copf "ℂ"> +<!ENTITY complexes "ℂ"> +<!ENTITY incare "℅"> +<!ENTITY gscr "ℊ"> +<!ENTITY hamilt "ℋ"> +<!ENTITY HilbertSpace "ℋ"> +<!ENTITY Hscr "ℋ"> +<!ENTITY Hfr "ℌ"> +<!ENTITY Poincareplane "ℌ"> +<!ENTITY quaternions "ℍ"> +<!ENTITY Hopf "ℍ"> +<!ENTITY planckh "ℎ"> +<!ENTITY planck "ℏ"> +<!ENTITY hbar "ℏ"> +<!ENTITY plankv "ℏ"> +<!ENTITY hslash "ℏ"> +<!ENTITY Iscr "ℐ"> +<!ENTITY imagline "ℐ"> +<!ENTITY image "ℑ"> +<!ENTITY Im "ℑ"> +<!ENTITY imagpart "ℑ"> +<!ENTITY Ifr "ℑ"> +<!ENTITY Lscr "ℒ"> +<!ENTITY lagran "ℒ"> +<!ENTITY Laplacetrf "ℒ"> +<!ENTITY ell "ℓ"> +<!ENTITY Nopf "ℕ"> +<!ENTITY naturals "ℕ"> +<!ENTITY numero "№"> +<!ENTITY copysr "℗"> +<!ENTITY weierp "℘"> +<!ENTITY wp "℘"> +<!ENTITY Popf "ℙ"> +<!ENTITY primes "ℙ"> +<!ENTITY rationals "ℚ"> +<!ENTITY Qopf "ℚ"> +<!ENTITY Rscr "ℛ"> +<!ENTITY realine "ℛ"> +<!ENTITY real "ℜ"> +<!ENTITY Re "ℜ"> +<!ENTITY realpart "ℜ"> +<!ENTITY Rfr "ℜ"> +<!ENTITY reals "ℝ"> +<!ENTITY Ropf "ℝ"> +<!ENTITY rx "℞"> +<!ENTITY trade "™"> +<!ENTITY TRADE "™"> +<!ENTITY integers "ℤ"> +<!ENTITY Zopf "ℤ"> +<!ENTITY mho "℧"> +<!ENTITY Zfr "ℨ"> +<!ENTITY zeetrf "ℨ"> +<!ENTITY iiota "℩"> +<!ENTITY bernou "ℬ"> +<!ENTITY Bernoullis "ℬ"> +<!ENTITY Bscr "ℬ"> +<!ENTITY Cfr "ℭ"> +<!ENTITY Cayleys "ℭ"> +<!ENTITY escr "ℯ"> +<!ENTITY Escr "ℰ"> +<!ENTITY expectation "ℰ"> +<!ENTITY Fscr "ℱ"> +<!ENTITY Fouriertrf "ℱ"> +<!ENTITY phmmat "ℳ"> +<!ENTITY Mellintrf "ℳ"> +<!ENTITY Mscr "ℳ"> +<!ENTITY order "ℴ"> +<!ENTITY orderof "ℴ"> +<!ENTITY oscr "ℴ"> +<!ENTITY alefsym "ℵ"> +<!ENTITY aleph "ℵ"> +<!ENTITY beth "ℶ"> +<!ENTITY gimel "ℷ"> +<!ENTITY daleth "ℸ"> +<!ENTITY CapitalDifferentialD "ⅅ"> +<!ENTITY DD "ⅅ"> +<!ENTITY DifferentialD "ⅆ"> +<!ENTITY dd "ⅆ"> +<!ENTITY ExponentialE "ⅇ"> +<!ENTITY exponentiale "ⅇ"> +<!ENTITY ee "ⅇ"> +<!ENTITY ImaginaryI "ⅈ"> +<!ENTITY ii "ⅈ"> +<!ENTITY frac13 "⅓"> +<!ENTITY frac23 "⅔"> +<!ENTITY frac15 "⅕"> +<!ENTITY frac25 "⅖"> +<!ENTITY frac35 "⅗"> +<!ENTITY frac45 "⅘"> +<!ENTITY frac16 "⅙"> +<!ENTITY frac56 "⅚"> +<!ENTITY frac18 "⅛"> +<!ENTITY frac38 "⅜"> +<!ENTITY frac58 "⅝"> +<!ENTITY frac78 "⅞"> +<!ENTITY larr "←"> +<!ENTITY leftarrow "←"> +<!ENTITY LeftArrow "←"> +<!ENTITY slarr "←"> +<!ENTITY ShortLeftArrow "←"> +<!ENTITY uarr "↑"> +<!ENTITY uparrow "↑"> +<!ENTITY UpArrow "↑"> +<!ENTITY ShortUpArrow "↑"> +<!ENTITY rarr "→"> +<!ENTITY rightarrow "→"> +<!ENTITY RightArrow "→"> +<!ENTITY srarr "→"> +<!ENTITY ShortRightArrow "→"> +<!ENTITY darr "↓"> +<!ENTITY downarrow "↓"> +<!ENTITY DownArrow "↓"> +<!ENTITY ShortDownArrow "↓"> +<!ENTITY harr "↔"> +<!ENTITY leftrightarrow "↔"> +<!ENTITY LeftRightArrow "↔"> +<!ENTITY varr "↕"> +<!ENTITY updownarrow "↕"> +<!ENTITY UpDownArrow "↕"> +<!ENTITY nwarr "↖"> +<!ENTITY UpperLeftArrow "↖"> +<!ENTITY nwarrow "↖"> +<!ENTITY nearr "↗"> +<!ENTITY UpperRightArrow "↗"> +<!ENTITY nearrow "↗"> +<!ENTITY searr "↘"> +<!ENTITY searrow "↘"> +<!ENTITY LowerRightArrow "↘"> +<!ENTITY swarr "↙"> +<!ENTITY swarrow "↙"> +<!ENTITY LowerLeftArrow "↙"> +<!ENTITY nlarr "↚"> +<!ENTITY nleftarrow "↚"> +<!ENTITY nrarr "↛"> +<!ENTITY nrightarrow "↛"> +<!ENTITY rarrw "↝"> +<!ENTITY rightsquigarrow "↝"> +<!ENTITY nrarrw "↝̸"> +<!ENTITY Larr "↞"> +<!ENTITY twoheadleftarrow "↞"> +<!ENTITY Uarr "↟"> +<!ENTITY Rarr "↠"> +<!ENTITY twoheadrightarrow "↠"> +<!ENTITY Darr "↡"> +<!ENTITY larrtl "↢"> +<!ENTITY leftarrowtail "↢"> +<!ENTITY rarrtl "↣"> +<!ENTITY rightarrowtail "↣"> +<!ENTITY LeftTeeArrow "↤"> +<!ENTITY mapstoleft "↤"> +<!ENTITY UpTeeArrow "↥"> +<!ENTITY mapstoup "↥"> +<!ENTITY map "↦"> +<!ENTITY RightTeeArrow "↦"> +<!ENTITY mapsto "↦"> +<!ENTITY DownTeeArrow "↧"> +<!ENTITY mapstodown "↧"> +<!ENTITY larrhk "↩"> +<!ENTITY hookleftarrow "↩"> +<!ENTITY rarrhk "↪"> +<!ENTITY hookrightarrow "↪"> +<!ENTITY larrlp "↫"> +<!ENTITY looparrowleft "↫"> +<!ENTITY rarrlp "↬"> +<!ENTITY looparrowright "↬"> +<!ENTITY harrw "↭"> +<!ENTITY leftrightsquigarrow "↭"> +<!ENTITY nharr "↮"> +<!ENTITY nleftrightarrow "↮"> +<!ENTITY lsh "↰"> +<!ENTITY Lsh "↰"> +<!ENTITY rsh "↱"> +<!ENTITY Rsh "↱"> +<!ENTITY ldsh "↲"> +<!ENTITY rdsh "↳"> +<!ENTITY crarr "↵"> +<!ENTITY cularr "↶"> +<!ENTITY curvearrowleft "↶"> +<!ENTITY curarr "↷"> +<!ENTITY curvearrowright "↷"> +<!ENTITY olarr "↺"> +<!ENTITY circlearrowleft "↺"> +<!ENTITY orarr "↻"> +<!ENTITY circlearrowright "↻"> +<!ENTITY lharu "↼"> +<!ENTITY LeftVector "↼"> +<!ENTITY leftharpoonup "↼"> +<!ENTITY lhard "↽"> +<!ENTITY leftharpoondown "↽"> +<!ENTITY DownLeftVector "↽"> +<!ENTITY uharr "↾"> +<!ENTITY upharpoonright "↾"> +<!ENTITY RightUpVector "↾"> +<!ENTITY uharl "↿"> +<!ENTITY upharpoonleft "↿"> +<!ENTITY LeftUpVector "↿"> +<!ENTITY rharu "⇀"> +<!ENTITY RightVector "⇀"> +<!ENTITY rightharpoonup "⇀"> +<!ENTITY rhard "⇁"> +<!ENTITY rightharpoondown "⇁"> +<!ENTITY DownRightVector "⇁"> +<!ENTITY dharr "⇂"> +<!ENTITY RightDownVector "⇂"> +<!ENTITY downharpoonright "⇂"> +<!ENTITY dharl "⇃"> +<!ENTITY LeftDownVector "⇃"> +<!ENTITY downharpoonleft "⇃"> +<!ENTITY rlarr "⇄"> +<!ENTITY rightleftarrows "⇄"> +<!ENTITY RightArrowLeftArrow "⇄"> +<!ENTITY udarr "⇅"> +<!ENTITY UpArrowDownArrow "⇅"> +<!ENTITY lrarr "⇆"> +<!ENTITY leftrightarrows "⇆"> +<!ENTITY LeftArrowRightArrow "⇆"> +<!ENTITY llarr "⇇"> +<!ENTITY leftleftarrows "⇇"> +<!ENTITY uuarr "⇈"> +<!ENTITY upuparrows "⇈"> +<!ENTITY rrarr "⇉"> +<!ENTITY rightrightarrows "⇉"> +<!ENTITY ddarr "⇊"> +<!ENTITY downdownarrows "⇊"> +<!ENTITY lrhar "⇋"> +<!ENTITY ReverseEquilibrium "⇋"> +<!ENTITY leftrightharpoons "⇋"> +<!ENTITY rlhar "⇌"> +<!ENTITY rightleftharpoons "⇌"> +<!ENTITY Equilibrium "⇌"> +<!ENTITY nlArr "⇍"> +<!ENTITY nLeftarrow "⇍"> +<!ENTITY nhArr "⇎"> +<!ENTITY nLeftrightarrow "⇎"> +<!ENTITY nrArr "⇏"> +<!ENTITY nRightarrow "⇏"> +<!ENTITY lArr "⇐"> +<!ENTITY Leftarrow "⇐"> +<!ENTITY DoubleLeftArrow "⇐"> +<!ENTITY uArr "⇑"> +<!ENTITY Uparrow "⇑"> +<!ENTITY DoubleUpArrow "⇑"> +<!ENTITY rArr "⇒"> +<!ENTITY Rightarrow "⇒"> +<!ENTITY Implies "⇒"> +<!ENTITY DoubleRightArrow "⇒"> +<!ENTITY dArr "⇓"> +<!ENTITY Downarrow "⇓"> +<!ENTITY DoubleDownArrow "⇓"> +<!ENTITY hArr "⇔"> +<!ENTITY Leftrightarrow "⇔"> +<!ENTITY DoubleLeftRightArrow "⇔"> +<!ENTITY iff "⇔"> +<!ENTITY vArr "⇕"> +<!ENTITY Updownarrow "⇕"> +<!ENTITY DoubleUpDownArrow "⇕"> +<!ENTITY nwArr "⇖"> +<!ENTITY neArr "⇗"> +<!ENTITY seArr "⇘"> +<!ENTITY swArr "⇙"> +<!ENTITY lAarr "⇚"> +<!ENTITY Lleftarrow "⇚"> +<!ENTITY rAarr "⇛"> +<!ENTITY Rrightarrow "⇛"> +<!ENTITY zigrarr "⇝"> +<!ENTITY larrb "⇤"> +<!ENTITY LeftArrowBar "⇤"> +<!ENTITY rarrb "⇥"> +<!ENTITY RightArrowBar "⇥"> +<!ENTITY duarr "⇵"> +<!ENTITY DownArrowUpArrow "⇵"> +<!ENTITY loarr "⇽"> +<!ENTITY roarr "⇾"> +<!ENTITY hoarr "⇿"> +<!ENTITY forall "∀"> +<!ENTITY ForAll "∀"> +<!ENTITY comp "∁"> +<!ENTITY complement "∁"> +<!ENTITY part "∂"> +<!ENTITY PartialD "∂"> +<!ENTITY npart "∂̸"> +<!ENTITY exist "∃"> +<!ENTITY Exists "∃"> +<!ENTITY nexist "∄"> +<!ENTITY NotExists "∄"> +<!ENTITY nexists "∄"> +<!ENTITY empty "∅"> +<!ENTITY emptyset "∅"> +<!ENTITY emptyv "∅"> +<!ENTITY varnothing "∅"> +<!ENTITY nabla "∇"> +<!ENTITY Del "∇"> +<!ENTITY isin "∈"> +<!ENTITY isinv "∈"> +<!ENTITY Element "∈"> +<!ENTITY in "∈"> +<!ENTITY notin "∉"> +<!ENTITY NotElement "∉"> +<!ENTITY notinva "∉"> +<!ENTITY niv "∋"> +<!ENTITY ReverseElement "∋"> +<!ENTITY ni "∋"> +<!ENTITY SuchThat "∋"> +<!ENTITY notni "∌"> +<!ENTITY notniva "∌"> +<!ENTITY NotReverseElement "∌"> +<!ENTITY prod "∏"> +<!ENTITY Product "∏"> +<!ENTITY coprod "∐"> +<!ENTITY Coproduct "∐"> +<!ENTITY sum "∑"> +<!ENTITY Sum "∑"> +<!ENTITY minus "−"> +<!ENTITY mnplus "∓"> +<!ENTITY mp "∓"> +<!ENTITY MinusPlus "∓"> +<!ENTITY plusdo "∔"> +<!ENTITY dotplus "∔"> +<!ENTITY setmn "∖"> +<!ENTITY setminus "∖"> +<!ENTITY Backslash "∖"> +<!ENTITY ssetmn "∖"> +<!ENTITY smallsetminus "∖"> +<!ENTITY lowast "∗"> +<!ENTITY compfn "∘"> +<!ENTITY SmallCircle "∘"> +<!ENTITY radic "√"> +<!ENTITY Sqrt "√"> +<!ENTITY prop "∝"> +<!ENTITY propto "∝"> +<!ENTITY Proportional "∝"> +<!ENTITY vprop "∝"> +<!ENTITY varpropto "∝"> +<!ENTITY infin "∞"> +<!ENTITY angrt "∟"> +<!ENTITY ang "∠"> +<!ENTITY angle "∠"> +<!ENTITY nang "∠⃒"> +<!ENTITY angmsd "∡"> +<!ENTITY measuredangle "∡"> +<!ENTITY angsph "∢"> +<!ENTITY mid "∣"> +<!ENTITY VerticalBar "∣"> +<!ENTITY smid "∣"> +<!ENTITY shortmid "∣"> +<!ENTITY nmid "∤"> +<!ENTITY NotVerticalBar "∤"> +<!ENTITY nsmid "∤"> +<!ENTITY nshortmid "∤"> +<!ENTITY par "∥"> +<!ENTITY parallel "∥"> +<!ENTITY DoubleVerticalBar "∥"> +<!ENTITY spar "∥"> +<!ENTITY shortparallel "∥"> +<!ENTITY npar "∦"> +<!ENTITY nparallel "∦"> +<!ENTITY NotDoubleVerticalBar "∦"> +<!ENTITY nspar "∦"> +<!ENTITY nshortparallel "∦"> +<!ENTITY and "∧"> +<!ENTITY wedge "∧"> +<!ENTITY or "∨"> +<!ENTITY vee "∨"> +<!ENTITY cap "∩"> +<!ENTITY caps "∩︀"> +<!ENTITY cup "∪"> +<!ENTITY cups "∪︀"> +<!ENTITY int "∫"> +<!ENTITY Integral "∫"> +<!ENTITY Int "∬"> +<!ENTITY tint "∭"> +<!ENTITY iiint "∭"> +<!ENTITY conint "∮"> +<!ENTITY oint "∮"> +<!ENTITY ContourIntegral "∮"> +<!ENTITY Conint "∯"> +<!ENTITY DoubleContourIntegral "∯"> +<!ENTITY Cconint "∰"> +<!ENTITY cwint "∱"> +<!ENTITY cwconint "∲"> +<!ENTITY ClockwiseContourIntegral "∲"> +<!ENTITY awconint "∳"> +<!ENTITY CounterClockwiseContourIntegral "∳"> +<!ENTITY there4 "∴"> +<!ENTITY therefore "∴"> +<!ENTITY Therefore "∴"> +<!ENTITY becaus "∵"> +<!ENTITY because "∵"> +<!ENTITY Because "∵"> +<!ENTITY ratio "∶"> +<!ENTITY Colon "∷"> +<!ENTITY Proportion "∷"> +<!ENTITY minusd "∸"> +<!ENTITY dotminus "∸"> +<!ENTITY mDDot "∺"> +<!ENTITY homtht "∻"> +<!ENTITY sim "∼"> +<!ENTITY Tilde "∼"> +<!ENTITY thksim "∼"> +<!ENTITY thicksim "∼"> +<!ENTITY nvsim "∼⃒"> +<!ENTITY bsim "∽"> +<!ENTITY backsim "∽"> +<!ENTITY race "∽̱"> +<!ENTITY ac "∾"> +<!ENTITY mstpos "∾"> +<!ENTITY acE "∾̳"> +<!ENTITY acd "∿"> +<!ENTITY wreath "≀"> +<!ENTITY VerticalTilde "≀"> +<!ENTITY wr "≀"> +<!ENTITY nsim "≁"> +<!ENTITY NotTilde "≁"> +<!ENTITY esim "≂"> +<!ENTITY EqualTilde "≂"> +<!ENTITY eqsim "≂"> +<!ENTITY NotEqualTilde "≂̸"> +<!ENTITY nesim "≂̸"> +<!ENTITY sime "≃"> +<!ENTITY TildeEqual "≃"> +<!ENTITY simeq "≃"> +<!ENTITY nsime "≄"> +<!ENTITY nsimeq "≄"> +<!ENTITY NotTildeEqual "≄"> +<!ENTITY cong "≅"> +<!ENTITY TildeFullEqual "≅"> +<!ENTITY simne "≆"> +<!ENTITY ncong "≇"> +<!ENTITY NotTildeFullEqual "≇"> +<!ENTITY asymp "≈"> +<!ENTITY ap "≈"> +<!ENTITY TildeTilde "≈"> +<!ENTITY approx "≈"> +<!ENTITY thkap "≈"> +<!ENTITY thickapprox "≈"> +<!ENTITY nap "≉"> +<!ENTITY NotTildeTilde "≉"> +<!ENTITY napprox "≉"> +<!ENTITY ape "≊"> +<!ENTITY approxeq "≊"> +<!ENTITY apid "≋"> +<!ENTITY napid "≋̸"> +<!ENTITY bcong "≌"> +<!ENTITY backcong "≌"> +<!ENTITY asympeq "≍"> +<!ENTITY CupCap "≍"> +<!ENTITY nvap "≍⃒"> +<!ENTITY bump "≎"> +<!ENTITY HumpDownHump "≎"> +<!ENTITY Bumpeq "≎"> +<!ENTITY NotHumpDownHump "≎̸"> +<!ENTITY nbump "≎̸"> +<!ENTITY bumpe "≏"> +<!ENTITY HumpEqual "≏"> +<!ENTITY bumpeq "≏"> +<!ENTITY nbumpe "≏̸"> +<!ENTITY NotHumpEqual "≏̸"> +<!ENTITY esdot "≐"> +<!ENTITY DotEqual "≐"> +<!ENTITY doteq "≐"> +<!ENTITY nedot "≐̸"> +<!ENTITY eDot "≑"> +<!ENTITY doteqdot "≑"> +<!ENTITY efDot "≒"> +<!ENTITY fallingdotseq "≒"> +<!ENTITY erDot "≓"> +<!ENTITY risingdotseq "≓"> +<!ENTITY colone "≔"> +<!ENTITY coloneq "≔"> +<!ENTITY Assign "≔"> +<!ENTITY ecolon "≕"> +<!ENTITY eqcolon "≕"> +<!ENTITY ecir "≖"> +<!ENTITY eqcirc "≖"> +<!ENTITY cire "≗"> +<!ENTITY circeq "≗"> +<!ENTITY wedgeq "≙"> +<!ENTITY veeeq "≚"> +<!ENTITY trie "≜"> +<!ENTITY triangleq "≜"> +<!ENTITY equest "≟"> +<!ENTITY questeq "≟"> +<!ENTITY ne "≠"> +<!ENTITY NotEqual "≠"> +<!ENTITY equiv "≡"> +<!ENTITY Congruent "≡"> +<!ENTITY bnequiv "≡⃥"> +<!ENTITY nequiv "≢"> +<!ENTITY NotCongruent "≢"> +<!ENTITY le "≤"> +<!ENTITY leq "≤"> +<!ENTITY nvle "≤⃒"> +<!ENTITY ge "≥"> +<!ENTITY GreaterEqual "≥"> +<!ENTITY geq "≥"> +<!ENTITY nvge "≥⃒"> +<!ENTITY lE "≦"> +<!ENTITY LessFullEqual "≦"> +<!ENTITY leqq "≦"> +<!ENTITY nlE "≦̸"> +<!ENTITY nleqq "≦̸"> +<!ENTITY gE "≧"> +<!ENTITY GreaterFullEqual "≧"> +<!ENTITY geqq "≧"> +<!ENTITY ngE "≧̸"> +<!ENTITY ngeqq "≧̸"> +<!ENTITY NotGreaterFullEqual "≧̸"> +<!ENTITY lnE "≨"> +<!ENTITY lneqq "≨"> +<!ENTITY lvnE "≨︀"> +<!ENTITY lvertneqq "≨︀"> +<!ENTITY gnE "≩"> +<!ENTITY gneqq "≩"> +<!ENTITY gvnE "≩︀"> +<!ENTITY gvertneqq "≩︀"> +<!ENTITY Lt "≪"> +<!ENTITY NestedLessLess "≪"> +<!ENTITY ll "≪"> +<!ENTITY nLtv "≪̸"> +<!ENTITY NotLessLess "≪̸"> +<!ENTITY nLt "≪⃒"> +<!ENTITY Gt "≫"> +<!ENTITY NestedGreaterGreater "≫"> +<!ENTITY gg "≫"> +<!ENTITY nGtv "≫̸"> +<!ENTITY NotGreaterGreater "≫̸"> +<!ENTITY nGt "≫⃒"> +<!ENTITY twixt "≬"> +<!ENTITY between "≬"> +<!ENTITY NotCupCap "≭"> +<!ENTITY nlt "≮"> +<!ENTITY NotLess "≮"> +<!ENTITY nless "≮"> +<!ENTITY ngt "≯"> +<!ENTITY NotGreater "≯"> +<!ENTITY ngtr "≯"> +<!ENTITY nle "≰"> +<!ENTITY NotLessEqual "≰"> +<!ENTITY nleq "≰"> +<!ENTITY nge "≱"> +<!ENTITY NotGreaterEqual "≱"> +<!ENTITY ngeq "≱"> +<!ENTITY lsim "≲"> +<!ENTITY LessTilde "≲"> +<!ENTITY lesssim "≲"> +<!ENTITY gsim "≳"> +<!ENTITY gtrsim "≳"> +<!ENTITY GreaterTilde "≳"> +<!ENTITY nlsim "≴"> +<!ENTITY NotLessTilde "≴"> +<!ENTITY ngsim "≵"> +<!ENTITY NotGreaterTilde "≵"> +<!ENTITY lg "≶"> +<!ENTITY lessgtr "≶"> +<!ENTITY LessGreater "≶"> +<!ENTITY gl "≷"> +<!ENTITY gtrless "≷"> +<!ENTITY GreaterLess "≷"> +<!ENTITY ntlg "≸"> +<!ENTITY NotLessGreater "≸"> +<!ENTITY ntgl "≹"> +<!ENTITY NotGreaterLess "≹"> +<!ENTITY pr "≺"> +<!ENTITY Precedes "≺"> +<!ENTITY prec "≺"> +<!ENTITY sc "≻"> +<!ENTITY Succeeds "≻"> +<!ENTITY succ "≻"> +<!ENTITY prcue "≼"> +<!ENTITY PrecedesSlantEqual "≼"> +<!ENTITY preccurlyeq "≼"> +<!ENTITY sccue "≽"> +<!ENTITY SucceedsSlantEqual "≽"> +<!ENTITY succcurlyeq "≽"> +<!ENTITY prsim "≾"> +<!ENTITY precsim "≾"> +<!ENTITY PrecedesTilde "≾"> +<!ENTITY scsim "≿"> +<!ENTITY succsim "≿"> +<!ENTITY SucceedsTilde "≿"> +<!ENTITY NotSucceedsTilde "≿̸"> +<!ENTITY npr "⊀"> +<!ENTITY nprec "⊀"> +<!ENTITY NotPrecedes "⊀"> +<!ENTITY nsc "⊁"> +<!ENTITY nsucc "⊁"> +<!ENTITY NotSucceeds "⊁"> +<!ENTITY sub "⊂"> +<!ENTITY subset "⊂"> +<!ENTITY vnsub "⊂⃒"> +<!ENTITY nsubset "⊂⃒"> +<!ENTITY NotSubset "⊂⃒"> +<!ENTITY sup "⊃"> +<!ENTITY supset "⊃"> +<!ENTITY Superset "⊃"> +<!ENTITY vnsup "⊃⃒"> +<!ENTITY nsupset "⊃⃒"> +<!ENTITY NotSuperset "⊃⃒"> +<!ENTITY nsub "⊄"> +<!ENTITY nsup "⊅"> +<!ENTITY sube "⊆"> +<!ENTITY SubsetEqual "⊆"> +<!ENTITY subseteq "⊆"> +<!ENTITY supe "⊇"> +<!ENTITY supseteq "⊇"> +<!ENTITY SupersetEqual "⊇"> +<!ENTITY nsube "⊈"> +<!ENTITY nsubseteq "⊈"> +<!ENTITY NotSubsetEqual "⊈"> +<!ENTITY nsupe "⊉"> +<!ENTITY nsupseteq "⊉"> +<!ENTITY NotSupersetEqual "⊉"> +<!ENTITY subne "⊊"> +<!ENTITY subsetneq "⊊"> +<!ENTITY vsubne "⊊︀"> +<!ENTITY varsubsetneq "⊊︀"> +<!ENTITY supne "⊋"> +<!ENTITY supsetneq "⊋"> +<!ENTITY vsupne "⊋︀"> +<!ENTITY varsupsetneq "⊋︀"> +<!ENTITY cupdot "⊍"> +<!ENTITY uplus "⊎"> +<!ENTITY UnionPlus "⊎"> +<!ENTITY sqsub "⊏"> +<!ENTITY SquareSubset "⊏"> +<!ENTITY sqsubset "⊏"> +<!ENTITY NotSquareSubset "⊏̸"> +<!ENTITY sqsup "⊐"> +<!ENTITY SquareSuperset "⊐"> +<!ENTITY sqsupset "⊐"> +<!ENTITY NotSquareSuperset "⊐̸"> +<!ENTITY sqsube "⊑"> +<!ENTITY SquareSubsetEqual "⊑"> +<!ENTITY sqsubseteq "⊑"> +<!ENTITY sqsupe "⊒"> +<!ENTITY SquareSupersetEqual "⊒"> +<!ENTITY sqsupseteq "⊒"> +<!ENTITY sqcap "⊓"> +<!ENTITY SquareIntersection "⊓"> +<!ENTITY sqcaps "⊓︀"> +<!ENTITY sqcup "⊔"> +<!ENTITY SquareUnion "⊔"> +<!ENTITY sqcups "⊔︀"> +<!ENTITY oplus "⊕"> +<!ENTITY CirclePlus "⊕"> +<!ENTITY ominus "⊖"> +<!ENTITY CircleMinus "⊖"> +<!ENTITY otimes "⊗"> +<!ENTITY CircleTimes "⊗"> +<!ENTITY osol "⊘"> +<!ENTITY odot "⊙"> +<!ENTITY CircleDot "⊙"> +<!ENTITY ocir "⊚"> +<!ENTITY circledcirc "⊚"> +<!ENTITY oast "⊛"> +<!ENTITY circledast "⊛"> +<!ENTITY odash "⊝"> +<!ENTITY circleddash "⊝"> +<!ENTITY plusb "⊞"> +<!ENTITY boxplus "⊞"> +<!ENTITY minusb "⊟"> +<!ENTITY boxminus "⊟"> +<!ENTITY timesb "⊠"> +<!ENTITY boxtimes "⊠"> +<!ENTITY sdotb "⊡"> +<!ENTITY dotsquare "⊡"> +<!ENTITY vdash "⊢"> +<!ENTITY RightTee "⊢"> +<!ENTITY dashv "⊣"> +<!ENTITY LeftTee "⊣"> +<!ENTITY top "⊤"> +<!ENTITY DownTee "⊤"> +<!ENTITY bottom "⊥"> +<!ENTITY bot "⊥"> +<!ENTITY perp "⊥"> +<!ENTITY UpTee "⊥"> +<!ENTITY models "⊧"> +<!ENTITY vDash "⊨"> +<!ENTITY DoubleRightTee "⊨"> +<!ENTITY Vdash "⊩"> +<!ENTITY Vvdash "⊪"> +<!ENTITY VDash "⊫"> +<!ENTITY nvdash "⊬"> +<!ENTITY nvDash "⊭"> +<!ENTITY nVdash "⊮"> +<!ENTITY nVDash "⊯"> +<!ENTITY prurel "⊰"> +<!ENTITY vltri "⊲"> +<!ENTITY vartriangleleft "⊲"> +<!ENTITY LeftTriangle "⊲"> +<!ENTITY vrtri "⊳"> +<!ENTITY vartriangleright "⊳"> +<!ENTITY RightTriangle "⊳"> +<!ENTITY ltrie "⊴"> +<!ENTITY trianglelefteq "⊴"> +<!ENTITY LeftTriangleEqual "⊴"> +<!ENTITY nvltrie "⊴⃒"> +<!ENTITY rtrie "⊵"> +<!ENTITY trianglerighteq "⊵"> +<!ENTITY RightTriangleEqual "⊵"> +<!ENTITY nvrtrie "⊵⃒"> +<!ENTITY origof "⊶"> +<!ENTITY imof "⊷"> +<!ENTITY mumap "⊸"> +<!ENTITY multimap "⊸"> +<!ENTITY hercon "⊹"> +<!ENTITY intcal "⊺"> +<!ENTITY intercal "⊺"> +<!ENTITY veebar "⊻"> +<!ENTITY barvee "⊽"> +<!ENTITY angrtvb "⊾"> +<!ENTITY lrtri "⊿"> +<!ENTITY xwedge "⋀"> +<!ENTITY Wedge "⋀"> +<!ENTITY bigwedge "⋀"> +<!ENTITY xvee "⋁"> +<!ENTITY Vee "⋁"> +<!ENTITY bigvee "⋁"> +<!ENTITY xcap "⋂"> +<!ENTITY Intersection "⋂"> +<!ENTITY bigcap "⋂"> +<!ENTITY xcup "⋃"> +<!ENTITY Union "⋃"> +<!ENTITY bigcup "⋃"> +<!ENTITY diam "⋄"> +<!ENTITY diamond "⋄"> +<!ENTITY Diamond "⋄"> +<!ENTITY sdot "⋅"> +<!ENTITY sstarf "⋆"> +<!ENTITY Star "⋆"> +<!ENTITY divonx "⋇"> +<!ENTITY divideontimes "⋇"> +<!ENTITY bowtie "⋈"> +<!ENTITY ltimes "⋉"> +<!ENTITY rtimes "⋊"> +<!ENTITY lthree "⋋"> +<!ENTITY leftthreetimes "⋋"> +<!ENTITY rthree "⋌"> +<!ENTITY rightthreetimes "⋌"> +<!ENTITY bsime "⋍"> +<!ENTITY backsimeq "⋍"> +<!ENTITY cuvee "⋎"> +<!ENTITY curlyvee "⋎"> +<!ENTITY cuwed "⋏"> +<!ENTITY curlywedge "⋏"> +<!ENTITY Sub "⋐"> +<!ENTITY Subset "⋐"> +<!ENTITY Sup "⋑"> +<!ENTITY Supset "⋑"> +<!ENTITY Cap "⋒"> +<!ENTITY Cup "⋓"> +<!ENTITY fork "⋔"> +<!ENTITY pitchfork "⋔"> +<!ENTITY epar "⋕"> +<!ENTITY ltdot "⋖"> +<!ENTITY lessdot "⋖"> +<!ENTITY gtdot "⋗"> +<!ENTITY gtrdot "⋗"> +<!ENTITY Ll "⋘"> +<!ENTITY nLl "⋘̸"> +<!ENTITY Gg "⋙"> +<!ENTITY ggg "⋙"> +<!ENTITY nGg "⋙̸"> +<!ENTITY leg "⋚"> +<!ENTITY LessEqualGreater "⋚"> +<!ENTITY lesseqgtr "⋚"> +<!ENTITY lesg "⋚︀"> +<!ENTITY gel "⋛"> +<!ENTITY gtreqless "⋛"> +<!ENTITY GreaterEqualLess "⋛"> +<!ENTITY gesl "⋛︀"> +<!ENTITY cuepr "⋞"> +<!ENTITY curlyeqprec "⋞"> +<!ENTITY cuesc "⋟"> +<!ENTITY curlyeqsucc "⋟"> +<!ENTITY nprcue "⋠"> +<!ENTITY NotPrecedesSlantEqual "⋠"> +<!ENTITY nsccue "⋡"> +<!ENTITY NotSucceedsSlantEqual "⋡"> +<!ENTITY nsqsube "⋢"> +<!ENTITY NotSquareSubsetEqual "⋢"> +<!ENTITY nsqsupe "⋣"> +<!ENTITY NotSquareSupersetEqual "⋣"> +<!ENTITY lnsim "⋦"> +<!ENTITY gnsim "⋧"> +<!ENTITY prnsim "⋨"> +<!ENTITY precnsim "⋨"> +<!ENTITY scnsim "⋩"> +<!ENTITY succnsim "⋩"> +<!ENTITY nltri "⋪"> +<!ENTITY ntriangleleft "⋪"> +<!ENTITY NotLeftTriangle "⋪"> +<!ENTITY nrtri "⋫"> +<!ENTITY ntriangleright "⋫"> +<!ENTITY NotRightTriangle "⋫"> +<!ENTITY nltrie "⋬"> +<!ENTITY ntrianglelefteq "⋬"> +<!ENTITY NotLeftTriangleEqual "⋬"> +<!ENTITY nrtrie "⋭"> +<!ENTITY ntrianglerighteq "⋭"> +<!ENTITY NotRightTriangleEqual "⋭"> +<!ENTITY vellip "⋮"> +<!ENTITY ctdot "⋯"> +<!ENTITY utdot "⋰"> +<!ENTITY dtdot "⋱"> +<!ENTITY disin "⋲"> +<!ENTITY isinsv "⋳"> +<!ENTITY isins "⋴"> +<!ENTITY isindot "⋵"> +<!ENTITY notindot "⋵̸"> +<!ENTITY notinvc "⋶"> +<!ENTITY notinvb "⋷"> +<!ENTITY isinE "⋹"> +<!ENTITY notinE "⋹̸"> +<!ENTITY nisd "⋺"> +<!ENTITY xnis "⋻"> +<!ENTITY nis "⋼"> +<!ENTITY notnivc "⋽"> +<!ENTITY notnivb "⋾"> +<!ENTITY barwed "⌅"> +<!ENTITY barwedge "⌅"> +<!ENTITY Barwed "⌆"> +<!ENTITY doublebarwedge "⌆"> +<!ENTITY lceil "⌈"> +<!ENTITY LeftCeiling "⌈"> +<!ENTITY rceil "⌉"> +<!ENTITY RightCeiling "⌉"> +<!ENTITY lfloor "⌊"> +<!ENTITY LeftFloor "⌊"> +<!ENTITY rfloor "⌋"> +<!ENTITY RightFloor "⌋"> +<!ENTITY drcrop "⌌"> +<!ENTITY dlcrop "⌍"> +<!ENTITY urcrop "⌎"> +<!ENTITY ulcrop "⌏"> +<!ENTITY bnot "⌐"> +<!ENTITY profline "⌒"> +<!ENTITY profsurf "⌓"> +<!ENTITY telrec "⌕"> +<!ENTITY target "⌖"> +<!ENTITY ulcorn "⌜"> +<!ENTITY ulcorner "⌜"> +<!ENTITY urcorn "⌝"> +<!ENTITY urcorner "⌝"> +<!ENTITY dlcorn "⌞"> +<!ENTITY llcorner "⌞"> +<!ENTITY drcorn "⌟"> +<!ENTITY lrcorner "⌟"> +<!ENTITY frown "⌢"> +<!ENTITY sfrown "⌢"> +<!ENTITY smile "⌣"> +<!ENTITY ssmile "⌣"> +<!ENTITY cylcty "⌭"> +<!ENTITY profalar "⌮"> +<!ENTITY topbot "⌶"> +<!ENTITY ovbar "⌽"> +<!ENTITY solbar "⌿"> +<!ENTITY angzarr "⍼"> +<!ENTITY lmoust "⎰"> +<!ENTITY lmoustache "⎰"> +<!ENTITY rmoust "⎱"> +<!ENTITY rmoustache "⎱"> +<!ENTITY tbrk "⎴"> +<!ENTITY OverBracket "⎴"> +<!ENTITY bbrk "⎵"> +<!ENTITY UnderBracket "⎵"> +<!ENTITY bbrktbrk "⎶"> +<!ENTITY OverParenthesis "⏜"> +<!ENTITY UnderParenthesis "⏝"> +<!ENTITY OverBrace "⏞"> +<!ENTITY UnderBrace "⏟"> +<!ENTITY trpezium "⏢"> +<!ENTITY elinters "⏧"> +<!ENTITY blank "␣"> +<!ENTITY oS "Ⓢ"> +<!ENTITY circledS "Ⓢ"> +<!ENTITY boxh "─"> +<!ENTITY HorizontalLine "─"> +<!ENTITY boxv "│"> +<!ENTITY boxdr "┌"> +<!ENTITY boxdl "┐"> +<!ENTITY boxur "└"> +<!ENTITY boxul "┘"> +<!ENTITY boxvr "├"> +<!ENTITY boxvl "┤"> +<!ENTITY boxhd "┬"> +<!ENTITY boxhu "┴"> +<!ENTITY boxvh "┼"> +<!ENTITY boxH "═"> +<!ENTITY boxV "║"> +<!ENTITY boxdR "╒"> +<!ENTITY boxDr "╓"> +<!ENTITY boxDR "╔"> +<!ENTITY boxdL "╕"> +<!ENTITY boxDl "╖"> +<!ENTITY boxDL "╗"> +<!ENTITY boxuR "╘"> +<!ENTITY boxUr "╙"> +<!ENTITY boxUR "╚"> +<!ENTITY boxuL "╛"> +<!ENTITY boxUl "╜"> +<!ENTITY boxUL "╝"> +<!ENTITY boxvR "╞"> +<!ENTITY boxVr "╟"> +<!ENTITY boxVR "╠"> +<!ENTITY boxvL "╡"> +<!ENTITY boxVl "╢"> +<!ENTITY boxVL "╣"> +<!ENTITY boxHd "╤"> +<!ENTITY boxhD "╥"> +<!ENTITY boxHD "╦"> +<!ENTITY boxHu "╧"> +<!ENTITY boxhU "╨"> +<!ENTITY boxHU "╩"> +<!ENTITY boxvH "╪"> +<!ENTITY boxVh "╫"> +<!ENTITY boxVH "╬"> +<!ENTITY uhblk "▀"> +<!ENTITY lhblk "▄"> +<!ENTITY block "█"> +<!ENTITY blk14 "░"> +<!ENTITY blk12 "▒"> +<!ENTITY blk34 "▓"> +<!ENTITY squ "□"> +<!ENTITY square "□"> +<!ENTITY Square "□"> +<!ENTITY squf "▪"> +<!ENTITY squarf "▪"> +<!ENTITY blacksquare "▪"> +<!ENTITY FilledVerySmallSquare "▪"> +<!ENTITY EmptyVerySmallSquare "▫"> +<!ENTITY rect "▭"> +<!ENTITY marker "▮"> +<!ENTITY fltns "▱"> +<!ENTITY xutri "△"> +<!ENTITY bigtriangleup "△"> +<!ENTITY utrif "▴"> +<!ENTITY blacktriangle "▴"> +<!ENTITY utri "▵"> +<!ENTITY triangle "▵"> +<!ENTITY rtrif "▸"> +<!ENTITY blacktriangleright "▸"> +<!ENTITY rtri "▹"> +<!ENTITY triangleright "▹"> +<!ENTITY xdtri "▽"> +<!ENTITY bigtriangledown "▽"> +<!ENTITY dtrif "▾"> +<!ENTITY blacktriangledown "▾"> +<!ENTITY dtri "▿"> +<!ENTITY triangledown "▿"> +<!ENTITY ltrif "◂"> +<!ENTITY blacktriangleleft "◂"> +<!ENTITY ltri "◃"> +<!ENTITY triangleleft "◃"> +<!ENTITY loz "◊"> +<!ENTITY lozenge "◊"> +<!ENTITY cir "○"> +<!ENTITY tridot "◬"> +<!ENTITY xcirc "◯"> +<!ENTITY bigcirc "◯"> +<!ENTITY ultri "◸"> +<!ENTITY urtri "◹"> +<!ENTITY lltri "◺"> +<!ENTITY EmptySmallSquare "◻"> +<!ENTITY FilledSmallSquare "◼"> +<!ENTITY starf "★"> +<!ENTITY bigstar "★"> +<!ENTITY star "☆"> +<!ENTITY phone "☎"> +<!ENTITY female "♀"> +<!ENTITY male "♂"> +<!ENTITY spades "♠"> +<!ENTITY spadesuit "♠"> +<!ENTITY clubs "♣"> +<!ENTITY clubsuit "♣"> +<!ENTITY hearts "♥"> +<!ENTITY heartsuit "♥"> +<!ENTITY diams "♦"> +<!ENTITY diamondsuit "♦"> +<!ENTITY sung "♪"> +<!ENTITY flat "♭"> +<!ENTITY natur "♮"> +<!ENTITY natural "♮"> +<!ENTITY sharp "♯"> +<!ENTITY check "✓"> +<!ENTITY checkmark "✓"> +<!ENTITY cross "✗"> +<!ENTITY malt "✠"> +<!ENTITY maltese "✠"> +<!ENTITY sext "✶"> +<!ENTITY VerticalSeparator "❘"> +<!ENTITY lbbrk "❲"> +<!ENTITY rbbrk "❳"> +<!ENTITY bsolhsub "⟈"> +<!ENTITY suphsol "⟉"> +<!ENTITY lobrk "⟦"> +<!ENTITY LeftDoubleBracket "⟦"> +<!ENTITY robrk "⟧"> +<!ENTITY RightDoubleBracket "⟧"> +<!ENTITY lang "⟨"> +<!ENTITY LeftAngleBracket "⟨"> +<!ENTITY langle "⟨"> +<!ENTITY rang "⟩"> +<!ENTITY RightAngleBracket "⟩"> +<!ENTITY rangle "⟩"> +<!ENTITY Lang "⟪"> +<!ENTITY Rang "⟫"> +<!ENTITY loang "⟬"> +<!ENTITY roang "⟭"> +<!ENTITY xlarr "⟵"> +<!ENTITY longleftarrow "⟵"> +<!ENTITY LongLeftArrow "⟵"> +<!ENTITY xrarr "⟶"> +<!ENTITY longrightarrow "⟶"> +<!ENTITY LongRightArrow "⟶"> +<!ENTITY xharr "⟷"> +<!ENTITY longleftrightarrow "⟷"> +<!ENTITY LongLeftRightArrow "⟷"> +<!ENTITY xlArr "⟸"> +<!ENTITY Longleftarrow "⟸"> +<!ENTITY DoubleLongLeftArrow "⟸"> +<!ENTITY xrArr "⟹"> +<!ENTITY Longrightarrow "⟹"> +<!ENTITY DoubleLongRightArrow "⟹"> +<!ENTITY xhArr "⟺"> +<!ENTITY Longleftrightarrow "⟺"> +<!ENTITY DoubleLongLeftRightArrow "⟺"> +<!ENTITY xmap "⟼"> +<!ENTITY longmapsto "⟼"> +<!ENTITY dzigrarr "⟿"> +<!ENTITY nvlArr "⤂"> +<!ENTITY nvrArr "⤃"> +<!ENTITY nvHarr "⤄"> +<!ENTITY Map "⤅"> +<!ENTITY lbarr "⤌"> +<!ENTITY rbarr "⤍"> +<!ENTITY bkarow "⤍"> +<!ENTITY lBarr "⤎"> +<!ENTITY rBarr "⤏"> +<!ENTITY dbkarow "⤏"> +<!ENTITY RBarr "⤐"> +<!ENTITY drbkarow "⤐"> +<!ENTITY DDotrahd "⤑"> +<!ENTITY UpArrowBar "⤒"> +<!ENTITY DownArrowBar "⤓"> +<!ENTITY Rarrtl "⤖"> +<!ENTITY latail "⤙"> +<!ENTITY ratail "⤚"> +<!ENTITY lAtail "⤛"> +<!ENTITY rAtail "⤜"> +<!ENTITY larrfs "⤝"> +<!ENTITY rarrfs "⤞"> +<!ENTITY larrbfs "⤟"> +<!ENTITY rarrbfs "⤠"> +<!ENTITY nwarhk "⤣"> +<!ENTITY nearhk "⤤"> +<!ENTITY searhk "⤥"> +<!ENTITY hksearow "⤥"> +<!ENTITY swarhk "⤦"> +<!ENTITY hkswarow "⤦"> +<!ENTITY nwnear "⤧"> +<!ENTITY nesear "⤨"> +<!ENTITY toea "⤨"> +<!ENTITY seswar "⤩"> +<!ENTITY tosa "⤩"> +<!ENTITY swnwar "⤪"> +<!ENTITY rarrc "⤳"> +<!ENTITY nrarrc "⤳̸"> +<!ENTITY cudarrr "⤵"> +<!ENTITY ldca "⤶"> +<!ENTITY rdca "⤷"> +<!ENTITY cudarrl "⤸"> +<!ENTITY larrpl "⤹"> +<!ENTITY curarrm "⤼"> +<!ENTITY cularrp "⤽"> +<!ENTITY rarrpl "⥅"> +<!ENTITY harrcir "⥈"> +<!ENTITY Uarrocir "⥉"> +<!ENTITY lurdshar "⥊"> +<!ENTITY ldrushar "⥋"> +<!ENTITY LeftRightVector "⥎"> +<!ENTITY RightUpDownVector "⥏"> +<!ENTITY DownLeftRightVector "⥐"> +<!ENTITY LeftUpDownVector "⥑"> +<!ENTITY LeftVectorBar "⥒"> +<!ENTITY RightVectorBar "⥓"> +<!ENTITY RightUpVectorBar "⥔"> +<!ENTITY RightDownVectorBar "⥕"> +<!ENTITY DownLeftVectorBar "⥖"> +<!ENTITY DownRightVectorBar "⥗"> +<!ENTITY LeftUpVectorBar "⥘"> +<!ENTITY LeftDownVectorBar "⥙"> +<!ENTITY LeftTeeVector "⥚"> +<!ENTITY RightTeeVector "⥛"> +<!ENTITY RightUpTeeVector "⥜"> +<!ENTITY RightDownTeeVector "⥝"> +<!ENTITY DownLeftTeeVector "⥞"> +<!ENTITY DownRightTeeVector "⥟"> +<!ENTITY LeftUpTeeVector "⥠"> +<!ENTITY LeftDownTeeVector "⥡"> +<!ENTITY lHar "⥢"> +<!ENTITY uHar "⥣"> +<!ENTITY rHar "⥤"> +<!ENTITY dHar "⥥"> +<!ENTITY luruhar "⥦"> +<!ENTITY ldrdhar "⥧"> +<!ENTITY ruluhar "⥨"> +<!ENTITY rdldhar "⥩"> +<!ENTITY lharul "⥪"> +<!ENTITY llhard "⥫"> +<!ENTITY rharul "⥬"> +<!ENTITY lrhard "⥭"> +<!ENTITY udhar "⥮"> +<!ENTITY UpEquilibrium "⥮"> +<!ENTITY duhar "⥯"> +<!ENTITY ReverseUpEquilibrium "⥯"> +<!ENTITY RoundImplies "⥰"> +<!ENTITY erarr "⥱"> +<!ENTITY simrarr "⥲"> +<!ENTITY larrsim "⥳"> +<!ENTITY rarrsim "⥴"> +<!ENTITY rarrap "⥵"> +<!ENTITY ltlarr "⥶"> +<!ENTITY gtrarr "⥸"> +<!ENTITY subrarr "⥹"> +<!ENTITY suplarr "⥻"> +<!ENTITY lfisht "⥼"> +<!ENTITY rfisht "⥽"> +<!ENTITY ufisht "⥾"> +<!ENTITY dfisht "⥿"> +<!ENTITY lopar "⦅"> +<!ENTITY ropar "⦆"> +<!ENTITY lbrke "⦋"> +<!ENTITY rbrke "⦌"> +<!ENTITY lbrkslu "⦍"> +<!ENTITY rbrksld "⦎"> +<!ENTITY lbrksld "⦏"> +<!ENTITY rbrkslu "⦐"> +<!ENTITY langd "⦑"> +<!ENTITY rangd "⦒"> +<!ENTITY lparlt "⦓"> +<!ENTITY rpargt "⦔"> +<!ENTITY gtlPar "⦕"> +<!ENTITY ltrPar "⦖"> +<!ENTITY vzigzag "⦚"> +<!ENTITY vangrt "⦜"> +<!ENTITY angrtvbd "⦝"> +<!ENTITY ange "⦤"> +<!ENTITY range "⦥"> +<!ENTITY dwangle "⦦"> +<!ENTITY uwangle "⦧"> +<!ENTITY angmsdaa "⦨"> +<!ENTITY angmsdab "⦩"> +<!ENTITY angmsdac "⦪"> +<!ENTITY angmsdad "⦫"> +<!ENTITY angmsdae "⦬"> +<!ENTITY angmsdaf "⦭"> +<!ENTITY angmsdag "⦮"> +<!ENTITY angmsdah "⦯"> +<!ENTITY bemptyv "⦰"> +<!ENTITY demptyv "⦱"> +<!ENTITY cemptyv "⦲"> +<!ENTITY raemptyv "⦳"> +<!ENTITY laemptyv "⦴"> +<!ENTITY ohbar "⦵"> +<!ENTITY omid "⦶"> +<!ENTITY opar "⦷"> +<!ENTITY operp "⦹"> +<!ENTITY olcross "⦻"> +<!ENTITY odsold "⦼"> +<!ENTITY olcir "⦾"> +<!ENTITY ofcir "⦿"> +<!ENTITY olt "⧀"> +<!ENTITY ogt "⧁"> +<!ENTITY cirscir "⧂"> +<!ENTITY cirE "⧃"> +<!ENTITY solb "⧄"> +<!ENTITY bsolb "⧅"> +<!ENTITY boxbox "⧉"> +<!ENTITY trisb "⧍"> +<!ENTITY rtriltri "⧎"> +<!ENTITY LeftTriangleBar "⧏"> +<!ENTITY NotLeftTriangleBar "⧏̸"> +<!ENTITY RightTriangleBar "⧐"> +<!ENTITY NotRightTriangleBar "⧐̸"> +<!ENTITY iinfin "⧜"> +<!ENTITY infintie "⧝"> +<!ENTITY nvinfin "⧞"> +<!ENTITY eparsl "⧣"> +<!ENTITY smeparsl "⧤"> +<!ENTITY eqvparsl "⧥"> +<!ENTITY lozf "⧫"> +<!ENTITY blacklozenge "⧫"> +<!ENTITY RuleDelayed "⧴"> +<!ENTITY dsol "⧶"> +<!ENTITY xodot "⨀"> +<!ENTITY bigodot "⨀"> +<!ENTITY xoplus "⨁"> +<!ENTITY bigoplus "⨁"> +<!ENTITY xotime "⨂"> +<!ENTITY bigotimes "⨂"> +<!ENTITY xuplus "⨄"> +<!ENTITY biguplus "⨄"> +<!ENTITY xsqcup "⨆"> +<!ENTITY bigsqcup "⨆"> +<!ENTITY qint "⨌"> +<!ENTITY iiiint "⨌"> +<!ENTITY fpartint "⨍"> +<!ENTITY cirfnint "⨐"> +<!ENTITY awint "⨑"> +<!ENTITY rppolint "⨒"> +<!ENTITY scpolint "⨓"> +<!ENTITY npolint "⨔"> +<!ENTITY pointint "⨕"> +<!ENTITY quatint "⨖"> +<!ENTITY intlarhk "⨗"> +<!ENTITY pluscir "⨢"> +<!ENTITY plusacir "⨣"> +<!ENTITY simplus "⨤"> +<!ENTITY plusdu "⨥"> +<!ENTITY plussim "⨦"> +<!ENTITY plustwo "⨧"> +<!ENTITY mcomma "⨩"> +<!ENTITY minusdu "⨪"> +<!ENTITY loplus "⨭"> +<!ENTITY roplus "⨮"> +<!ENTITY Cross "⨯"> +<!ENTITY timesd "⨰"> +<!ENTITY timesbar "⨱"> +<!ENTITY smashp "⨳"> +<!ENTITY lotimes "⨴"> +<!ENTITY rotimes "⨵"> +<!ENTITY otimesas "⨶"> +<!ENTITY Otimes "⨷"> +<!ENTITY odiv "⨸"> +<!ENTITY triplus "⨹"> +<!ENTITY triminus "⨺"> +<!ENTITY tritime "⨻"> +<!ENTITY iprod "⨼"> +<!ENTITY intprod "⨼"> +<!ENTITY amalg "⨿"> +<!ENTITY capdot "⩀"> +<!ENTITY ncup "⩂"> +<!ENTITY ncap "⩃"> +<!ENTITY capand "⩄"> +<!ENTITY cupor "⩅"> +<!ENTITY cupcap "⩆"> +<!ENTITY capcup "⩇"> +<!ENTITY cupbrcap "⩈"> +<!ENTITY capbrcup "⩉"> +<!ENTITY cupcup "⩊"> +<!ENTITY capcap "⩋"> +<!ENTITY ccups "⩌"> +<!ENTITY ccaps "⩍"> +<!ENTITY ccupssm "⩐"> +<!ENTITY And "⩓"> +<!ENTITY Or "⩔"> +<!ENTITY andand "⩕"> +<!ENTITY oror "⩖"> +<!ENTITY orslope "⩗"> +<!ENTITY andslope "⩘"> +<!ENTITY andv "⩚"> +<!ENTITY orv "⩛"> +<!ENTITY andd "⩜"> +<!ENTITY ord "⩝"> +<!ENTITY wedbar "⩟"> +<!ENTITY sdote "⩦"> +<!ENTITY simdot "⩪"> +<!ENTITY congdot "⩭"> +<!ENTITY ncongdot "⩭̸"> +<!ENTITY easter "⩮"> +<!ENTITY apacir "⩯"> +<!ENTITY apE "⩰"> +<!ENTITY napE "⩰̸"> +<!ENTITY eplus "⩱"> +<!ENTITY pluse "⩲"> +<!ENTITY Esim "⩳"> +<!ENTITY Colone "⩴"> +<!ENTITY Equal "⩵"> +<!ENTITY eDDot "⩷"> +<!ENTITY ddotseq "⩷"> +<!ENTITY equivDD "⩸"> +<!ENTITY ltcir "⩹"> +<!ENTITY gtcir "⩺"> +<!ENTITY ltquest "⩻"> +<!ENTITY gtquest "⩼"> +<!ENTITY les "⩽"> +<!ENTITY LessSlantEqual "⩽"> +<!ENTITY leqslant "⩽"> +<!ENTITY nles "⩽̸"> +<!ENTITY NotLessSlantEqual "⩽̸"> +<!ENTITY nleqslant "⩽̸"> +<!ENTITY ges "⩾"> +<!ENTITY GreaterSlantEqual "⩾"> +<!ENTITY geqslant "⩾"> +<!ENTITY nges "⩾̸"> +<!ENTITY NotGreaterSlantEqual "⩾̸"> +<!ENTITY ngeqslant "⩾̸"> +<!ENTITY lesdot "⩿"> +<!ENTITY gesdot "⪀"> +<!ENTITY lesdoto "⪁"> +<!ENTITY gesdoto "⪂"> +<!ENTITY lesdotor "⪃"> +<!ENTITY gesdotol "⪄"> +<!ENTITY lap "⪅"> +<!ENTITY lessapprox "⪅"> +<!ENTITY gap "⪆"> +<!ENTITY gtrapprox "⪆"> +<!ENTITY lne "⪇"> +<!ENTITY lneq "⪇"> +<!ENTITY gne "⪈"> +<!ENTITY gneq "⪈"> +<!ENTITY lnap "⪉"> +<!ENTITY lnapprox "⪉"> +<!ENTITY gnap "⪊"> +<!ENTITY gnapprox "⪊"> +<!ENTITY lEg "⪋"> +<!ENTITY lesseqqgtr "⪋"> +<!ENTITY gEl "⪌"> +<!ENTITY gtreqqless "⪌"> +<!ENTITY lsime "⪍"> +<!ENTITY gsime "⪎"> +<!ENTITY lsimg "⪏"> +<!ENTITY gsiml "⪐"> +<!ENTITY lgE "⪑"> +<!ENTITY glE "⪒"> +<!ENTITY lesges "⪓"> +<!ENTITY gesles "⪔"> +<!ENTITY els "⪕"> +<!ENTITY eqslantless "⪕"> +<!ENTITY egs "⪖"> +<!ENTITY eqslantgtr "⪖"> +<!ENTITY elsdot "⪗"> +<!ENTITY egsdot "⪘"> +<!ENTITY el "⪙"> +<!ENTITY eg "⪚"> +<!ENTITY siml "⪝"> +<!ENTITY simg "⪞"> +<!ENTITY simlE "⪟"> +<!ENTITY simgE "⪠"> +<!ENTITY LessLess "⪡"> +<!ENTITY NotNestedLessLess "⪡̸"> +<!ENTITY GreaterGreater "⪢"> +<!ENTITY NotNestedGreaterGreater "⪢̸"> +<!ENTITY glj "⪤"> +<!ENTITY gla "⪥"> +<!ENTITY ltcc "⪦"> +<!ENTITY gtcc "⪧"> +<!ENTITY lescc "⪨"> +<!ENTITY gescc "⪩"> +<!ENTITY smt "⪪"> +<!ENTITY lat "⪫"> +<!ENTITY smte "⪬"> +<!ENTITY smtes "⪬︀"> +<!ENTITY late "⪭"> +<!ENTITY lates "⪭︀"> +<!ENTITY bumpE "⪮"> +<!ENTITY pre "⪯"> +<!ENTITY preceq "⪯"> +<!ENTITY PrecedesEqual "⪯"> +<!ENTITY npre "⪯̸"> +<!ENTITY npreceq "⪯̸"> +<!ENTITY NotPrecedesEqual "⪯̸"> +<!ENTITY sce "⪰"> +<!ENTITY succeq "⪰"> +<!ENTITY SucceedsEqual "⪰"> +<!ENTITY nsce "⪰̸"> +<!ENTITY nsucceq "⪰̸"> +<!ENTITY NotSucceedsEqual "⪰̸"> +<!ENTITY prE "⪳"> +<!ENTITY scE "⪴"> +<!ENTITY prnE "⪵"> +<!ENTITY precneqq "⪵"> +<!ENTITY scnE "⪶"> +<!ENTITY succneqq "⪶"> +<!ENTITY prap "⪷"> +<!ENTITY precapprox "⪷"> +<!ENTITY scap "⪸"> +<!ENTITY succapprox "⪸"> +<!ENTITY prnap "⪹"> +<!ENTITY precnapprox "⪹"> +<!ENTITY scnap "⪺"> +<!ENTITY succnapprox "⪺"> +<!ENTITY Pr "⪻"> +<!ENTITY Sc "⪼"> +<!ENTITY subdot "⪽"> +<!ENTITY supdot "⪾"> +<!ENTITY subplus "⪿"> +<!ENTITY supplus "⫀"> +<!ENTITY submult "⫁"> +<!ENTITY supmult "⫂"> +<!ENTITY subedot "⫃"> +<!ENTITY supedot "⫄"> +<!ENTITY subE "⫅"> +<!ENTITY subseteqq "⫅"> +<!ENTITY nsubE "⫅̸"> +<!ENTITY nsubseteqq "⫅̸"> +<!ENTITY supE "⫆"> +<!ENTITY supseteqq "⫆"> +<!ENTITY nsupE "⫆̸"> +<!ENTITY nsupseteqq "⫆̸"> +<!ENTITY subsim "⫇"> +<!ENTITY supsim "⫈"> +<!ENTITY subnE "⫋"> +<!ENTITY subsetneqq "⫋"> +<!ENTITY vsubnE "⫋︀"> +<!ENTITY varsubsetneqq "⫋︀"> +<!ENTITY supnE "⫌"> +<!ENTITY supsetneqq "⫌"> +<!ENTITY vsupnE "⫌︀"> +<!ENTITY varsupsetneqq "⫌︀"> +<!ENTITY csub "⫏"> +<!ENTITY csup "⫐"> +<!ENTITY csube "⫑"> +<!ENTITY csupe "⫒"> +<!ENTITY subsup "⫓"> +<!ENTITY supsub "⫔"> +<!ENTITY subsub "⫕"> +<!ENTITY supsup "⫖"> +<!ENTITY suphsub "⫗"> +<!ENTITY supdsub "⫘"> +<!ENTITY forkv "⫙"> +<!ENTITY topfork "⫚"> +<!ENTITY mlcp "⫛"> +<!ENTITY Dashv "⫤"> +<!ENTITY DoubleLeftTee "⫤"> +<!ENTITY Vdashl "⫦"> +<!ENTITY Barv "⫧"> +<!ENTITY vBar "⫨"> +<!ENTITY vBarv "⫩"> +<!ENTITY Vbar "⫫"> +<!ENTITY Not "⫬"> +<!ENTITY bNot "⫭"> +<!ENTITY rnmid "⫮"> +<!ENTITY cirmid "⫯"> +<!ENTITY midcir "⫰"> +<!ENTITY topcir "⫱"> +<!ENTITY nhpar "⫲"> +<!ENTITY parsim "⫳"> +<!ENTITY parsl "⫽"> +<!ENTITY nparsl "⫽⃥"> +<!ENTITY fflig "ff"> +<!ENTITY filig "fi"> +<!ENTITY fllig "fl"> +<!ENTITY ffilig "ffi"> +<!ENTITY ffllig "ffl"> +<!ENTITY Ascr "𝒜"> +<!ENTITY Cscr "𝒞"> +<!ENTITY Dscr "𝒟"> +<!ENTITY Gscr "𝒢"> +<!ENTITY Jscr "𝒥"> +<!ENTITY Kscr "𝒦"> +<!ENTITY Nscr "𝒩"> +<!ENTITY Oscr "𝒪"> +<!ENTITY Pscr "𝒫"> +<!ENTITY Qscr "𝒬"> +<!ENTITY Sscr "𝒮"> +<!ENTITY Tscr "𝒯"> +<!ENTITY Uscr "𝒰"> +<!ENTITY Vscr "𝒱"> +<!ENTITY Wscr "𝒲"> +<!ENTITY Xscr "𝒳"> +<!ENTITY Yscr "𝒴"> +<!ENTITY Zscr "𝒵"> +<!ENTITY ascr "𝒶"> +<!ENTITY bscr "𝒷"> +<!ENTITY cscr "𝒸"> +<!ENTITY dscr "𝒹"> +<!ENTITY fscr "𝒻"> +<!ENTITY hscr "𝒽"> +<!ENTITY iscr "𝒾"> +<!ENTITY jscr "𝒿"> +<!ENTITY kscr "𝓀"> +<!ENTITY lscr "𝓁"> +<!ENTITY mscr "𝓂"> +<!ENTITY nscr "𝓃"> +<!ENTITY pscr "𝓅"> +<!ENTITY qscr "𝓆"> +<!ENTITY rscr "𝓇"> +<!ENTITY sscr "𝓈"> +<!ENTITY tscr "𝓉"> +<!ENTITY uscr "𝓊"> +<!ENTITY vscr "𝓋"> +<!ENTITY wscr "𝓌"> +<!ENTITY xscr "𝓍"> +<!ENTITY yscr "𝓎"> +<!ENTITY zscr "𝓏"> +<!ENTITY Afr "𝔄"> +<!ENTITY Bfr "𝔅"> +<!ENTITY Dfr "𝔇"> +<!ENTITY Efr "𝔈"> +<!ENTITY Ffr "𝔉"> +<!ENTITY Gfr "𝔊"> +<!ENTITY Jfr "𝔍"> +<!ENTITY Kfr "𝔎"> +<!ENTITY Lfr "𝔏"> +<!ENTITY Mfr "𝔐"> +<!ENTITY Nfr "𝔑"> +<!ENTITY Ofr "𝔒"> +<!ENTITY Pfr "𝔓"> +<!ENTITY Qfr "𝔔"> +<!ENTITY Sfr "𝔖"> +<!ENTITY Tfr "𝔗"> +<!ENTITY Ufr "𝔘"> +<!ENTITY Vfr "𝔙"> +<!ENTITY Wfr "𝔚"> +<!ENTITY Xfr "𝔛"> +<!ENTITY Yfr "𝔜"> +<!ENTITY afr "𝔞"> +<!ENTITY bfr "𝔟"> +<!ENTITY cfr "𝔠"> +<!ENTITY dfr "𝔡"> +<!ENTITY efr "𝔢"> +<!ENTITY ffr "𝔣"> +<!ENTITY gfr "𝔤"> +<!ENTITY hfr "𝔥"> +<!ENTITY ifr "𝔦"> +<!ENTITY jfr "𝔧"> +<!ENTITY kfr "𝔨"> +<!ENTITY lfr "𝔩"> +<!ENTITY mfr "𝔪"> +<!ENTITY nfr "𝔫"> +<!ENTITY ofr "𝔬"> +<!ENTITY pfr "𝔭"> +<!ENTITY qfr "𝔮"> +<!ENTITY rfr "𝔯"> +<!ENTITY sfr "𝔰"> +<!ENTITY tfr "𝔱"> +<!ENTITY ufr "𝔲"> +<!ENTITY vfr "𝔳"> +<!ENTITY wfr "𝔴"> +<!ENTITY xfr "𝔵"> +<!ENTITY yfr "𝔶"> +<!ENTITY zfr "𝔷"> +<!ENTITY Aopf "𝔸"> +<!ENTITY Bopf "𝔹"> +<!ENTITY Dopf "𝔻"> +<!ENTITY Eopf "𝔼"> +<!ENTITY Fopf "𝔽"> +<!ENTITY Gopf "𝔾"> +<!ENTITY Iopf "𝕀"> +<!ENTITY Jopf "𝕁"> +<!ENTITY Kopf "𝕂"> +<!ENTITY Lopf "𝕃"> +<!ENTITY Mopf "𝕄"> +<!ENTITY Oopf "𝕆"> +<!ENTITY Sopf "𝕊"> +<!ENTITY Topf "𝕋"> +<!ENTITY Uopf "𝕌"> +<!ENTITY Vopf "𝕍"> +<!ENTITY Wopf "𝕎"> +<!ENTITY Xopf "𝕏"> +<!ENTITY Yopf "𝕐"> +<!ENTITY aopf "𝕒"> +<!ENTITY bopf "𝕓"> +<!ENTITY copf "𝕔"> +<!ENTITY dopf "𝕕"> +<!ENTITY eopf "𝕖"> +<!ENTITY fopf "𝕗"> +<!ENTITY gopf "𝕘"> +<!ENTITY hopf "𝕙"> +<!ENTITY iopf "𝕚"> +<!ENTITY jopf "𝕛"> +<!ENTITY kopf "𝕜"> +<!ENTITY lopf "𝕝"> +<!ENTITY mopf "𝕞"> +<!ENTITY nopf "𝕟"> +<!ENTITY oopf "𝕠"> +<!ENTITY popf "𝕡"> +<!ENTITY qopf "𝕢"> +<!ENTITY ropf "𝕣"> +<!ENTITY sopf "𝕤"> +<!ENTITY topf "𝕥"> +<!ENTITY uopf "𝕦"> +<!ENTITY vopf "𝕧"> +<!ENTITY wopf "𝕨"> +<!ENTITY xopf "𝕩"> +<!ENTITY yopf "𝕪"> +<!ENTITY zopf "𝕫">
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/item.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/item.py new file mode 100644 index 0000000..3d3480a --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/item.py
@@ -0,0 +1,219 @@ +import os +from six.moves.urllib.parse import urljoin +from abc import ABCMeta, abstractmethod, abstractproperty + + +def get_source_file(source_files, tests_root, manifest, path): + def make_new(): + from .sourcefile import SourceFile + + return SourceFile(tests_root, path, manifest.url_base) + + if source_files is None: + return make_new() + + if path not in source_files: + source_files[path] = make_new() + + return source_files[path] + + +class ManifestItem(object): + __metaclass__ = ABCMeta + + item_type = None + + def __init__(self, source_file, manifest=None): + self.manifest = manifest + self.source_file = source_file + + @abstractproperty + def id(self): + """The test's id (usually its url)""" + pass + + @property + def path(self): + """The test path relative to the test_root""" + return self.source_file.rel_path + + @property + def https(self): + return "https" in self.source_file.meta_flags + + def key(self): + """A unique identifier for the test""" + return (self.item_type, self.id) + + def meta_key(self): + """Extra metadata that doesn't form part of the test identity, but for + which changes mean regenerating the manifest (e.g. the test timeout.""" + return () + + def __eq__(self, other): + if not hasattr(other, "key"): + return False + return self.key() == other.key() + + def __hash__(self): + return hash(self.key() + self.meta_key()) + + def __repr__(self): + return "<%s.%s id=%s, path=%s>" % (self.__module__, self.__class__.__name__, self.id, self.path) + + def to_json(self): + return [{}] + + @classmethod + def from_json(cls, manifest, tests_root, path, obj, source_files=None): + source_file = get_source_file(source_files, tests_root, manifest, path) + return cls(source_file, + manifest=manifest) + + +class URLManifestItem(ManifestItem): + def __init__(self, source_file, url, url_base="/", manifest=None): + ManifestItem.__init__(self, source_file, manifest=manifest) + self._url = url + self.url_base = url_base + + @property + def id(self): + return self.url + + @property + def url(self): + return urljoin(self.url_base, self._url) + + def to_json(self): + rv = [self._url, {}] + return rv + + @classmethod + def from_json(cls, manifest, tests_root, path, obj, source_files=None): + source_file = get_source_file(source_files, tests_root, manifest, path) + url, extras = obj + return cls(source_file, + url, + url_base=manifest.url_base, + manifest=manifest) + + +class TestharnessTest(URLManifestItem): + item_type = "testharness" + + def __init__(self, source_file, url, url_base="/", timeout=None, manifest=None): + URLManifestItem.__init__(self, source_file, url, url_base=url_base, manifest=manifest) + self.timeout = timeout + + def meta_key(self): + return (self.timeout,) + + def to_json(self): + rv = URLManifestItem.to_json(self) + if self.timeout is not None: + rv[-1]["timeout"] = self.timeout + return rv + + @classmethod + def from_json(cls, manifest, tests_root, path, obj, source_files=None): + source_file = get_source_file(source_files, tests_root, manifest, path) + + url, extras = obj + return cls(source_file, + url, + url_base=manifest.url_base, + timeout=extras.get("timeout"), + manifest=manifest) + + +class RefTestNode(URLManifestItem): + item_type = "reftest_node" + + def __init__(self, source_file, url, references, url_base="/", timeout=None, + viewport_size=None, dpi=None, manifest=None): + URLManifestItem.__init__(self, source_file, url, url_base=url_base, manifest=manifest) + for _, ref_type in references: + if ref_type not in ["==", "!="]: + raise ValueError("Unrecognised ref_type %s" % ref_type) + self.references = tuple(references) + self.timeout = timeout + self.viewport_size = viewport_size + self.dpi = dpi + + def meta_key(self): + return (self.timeout, self.viewport_size, self.dpi) + + def to_json(self): + rv = [self.url, self.references, {}] + extras = rv[-1] + if self.timeout is not None: + extras["timeout"] = self.timeout + if self.viewport_size is not None: + extras["viewport_size"] = self.viewport_size + if self.dpi is not None: + extras["dpi"] = self.dpi + return rv + + @classmethod + def from_json(cls, manifest, tests_root, path, obj, source_files=None): + source_file = get_source_file(source_files, tests_root, manifest, path) + url, references, extras = obj + return cls(source_file, + url, + references, + url_base=manifest.url_base, + timeout=extras.get("timeout"), + viewport_size=extras.get("viewport_size"), + dpi=extras.get("dpi"), + manifest=manifest) + + def to_RefTest(self): + if type(self) == RefTest: + return self + rv = RefTest.__new__(RefTest) + rv.__dict__.update(self.__dict__) + return rv + + def to_RefTestNode(self): + if type(self) == RefTestNode: + return self + rv = RefTestNode.__new__(RefTestNode) + rv.__dict__.update(self.__dict__) + return rv + + +class RefTest(RefTestNode): + item_type = "reftest" + + +class ManualTest(URLManifestItem): + item_type = "manual" + + +class ConformanceCheckerTest(URLManifestItem): + item_type = "conformancechecker" + + +class VisualTest(URLManifestItem): + item_type = "visual" + + +class Stub(URLManifestItem): + item_type = "stub" + + +class WebdriverSpecTest(URLManifestItem): + item_type = "wdspec" + + def __init__(self, source_file, url, url_base="/", timeout=None, manifest=None): + URLManifestItem.__init__(self, source_file, url, url_base=url_base, manifest=manifest) + self.timeout = timeout + + +class SupportFile(ManifestItem): + item_type = "support" + + @property + def id(self): + return self.source_file.rel_path
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/log.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/log.py new file mode 100644 index 0000000..6aea9ce --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/log.py
@@ -0,0 +1,8 @@ +import logging + +logging.basicConfig() +logger = logging.getLogger("manifest") +logger.setLevel(logging.DEBUG) + +def get_logger(): + return logger
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/manifest.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/manifest.py new file mode 100644 index 0000000..1e7f349 --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/manifest.py
@@ -0,0 +1,228 @@ +import json +import os +import re +from collections import defaultdict +from six import iteritems, itervalues, viewkeys + +from .item import ManualTest, WebdriverSpecTest, Stub, RefTestNode, RefTest, TestharnessTest, SupportFile, ConformanceCheckerTest, VisualTest +from .log import get_logger +from .utils import from_os_path, to_os_path, rel_path_to_url + + +CURRENT_VERSION = 4 + + +class ManifestError(Exception): + pass + + +class ManifestVersionMismatch(ManifestError): + pass + + +def sourcefile_items(args): + tests_root, url_base, rel_path, status = args + source_file = SourceFile(tests_root, + rel_path, + url_base) + return rel_path, source_file.manifest_items() + + +class Manifest(object): + def __init__(self, url_base="/"): + assert url_base is not None + self._path_hash = {} + self._data = defaultdict(dict) + self._reftest_nodes_by_url = None + self.url_base = url_base + + def __iter__(self): + return self.itertypes() + + def itertypes(self, *types): + if not types: + types = sorted(self._data.keys()) + for item_type in types: + for path, tests in sorted(iteritems(self._data[item_type])): + yield item_type, tests + + @property + def reftest_nodes_by_url(self): + if self._reftest_nodes_by_url is None: + by_url = {} + for path, nodes in iteritems(self._data.get("reftests", {})): + for node in nodes: + by_url[node.url] = node + self._reftest_nodes_by_url = by_url + return self._reftest_nodes_by_url + + def get_reference(self, url): + return self.reftest_nodes_by_url.get(url) + + def update(self, tree): + new_data = defaultdict(dict) + new_hashes = {} + + reftest_nodes = [] + old_files = defaultdict(set, {k: set(viewkeys(v)) for k, v in iteritems(self._data)}) + + changed = False + reftest_changes = False + + for source_file in tree: + rel_path = source_file.rel_path + file_hash = source_file.hash + + is_new = rel_path not in self._path_hash + hash_changed = False + + if not is_new: + old_hash, old_type = self._path_hash[rel_path] + old_files[old_type].remove(rel_path) + if old_hash != file_hash: + new_type, manifest_items = source_file.manifest_items() + hash_changed = True + else: + new_type, manifest_items = old_type, self._data[old_type][rel_path] + else: + new_type, manifest_items = source_file.manifest_items() + + if new_type in ("reftest", "reftest_node"): + reftest_nodes.extend(manifest_items) + if is_new or hash_changed: + reftest_changes = True + elif new_type: + new_data[new_type][rel_path] = set(manifest_items) + + new_hashes[rel_path] = (file_hash, new_type) + + if is_new or hash_changed: + changed = True + + if reftest_changes or old_files["reftest"] or old_files["reftest_node"]: + reftests, reftest_nodes, changed_hashes = self._compute_reftests(reftest_nodes) + new_data["reftest"] = reftests + new_data["reftest_node"] = reftest_nodes + new_hashes.update(changed_hashes) + else: + new_data["reftest"] = self._data["reftest"] + new_data["reftest_node"] = self._data["reftest_node"] + + if any(itervalues(old_files)): + changed = True + + self._data = new_data + self._path_hash = new_hashes + + return changed + + def _compute_reftests(self, reftest_nodes): + self._reftest_nodes_by_url = {} + has_inbound = set() + for item in reftest_nodes: + for ref_url, ref_type in item.references: + has_inbound.add(ref_url) + + reftests = defaultdict(set) + references = defaultdict(set) + changed_hashes = {} + + for item in reftest_nodes: + if item.url in has_inbound: + # This is a reference + if isinstance(item, RefTest): + item = item.to_RefTestNode() + changed_hashes[item.source_file.rel_path] = (item.source_file.hash, + item.item_type) + references[item.source_file.rel_path].add(item) + self._reftest_nodes_by_url[item.url] = item + else: + if isinstance(item, RefTestNode): + item = item.to_RefTest() + changed_hashes[item.source_file.rel_path] = (item.source_file.hash, + item.item_type) + reftests[item.source_file.rel_path].add(item) + + return reftests, references, changed_hashes + + def to_json(self): + out_items = { + test_type: { + from_os_path(path): + [t for t in sorted(test.to_json() for test in tests)] + for path, tests in iteritems(type_paths) + } + for test_type, type_paths in iteritems(self._data) + } + rv = {"url_base": self.url_base, + "paths": {from_os_path(k): v for k, v in iteritems(self._path_hash)}, + "items": out_items, + "version": CURRENT_VERSION} + return rv + + @classmethod + def from_json(cls, tests_root, obj): + version = obj.get("version") + if version != CURRENT_VERSION: + raise ManifestVersionMismatch + + self = cls(url_base=obj.get("url_base", "/")) + if not hasattr(obj, "items") and hasattr(obj, "paths"): + raise ManifestError + + self._path_hash = {to_os_path(k): v for k, v in iteritems(obj["paths"])} + + item_classes = {"testharness": TestharnessTest, + "reftest": RefTest, + "reftest_node": RefTestNode, + "manual": ManualTest, + "stub": Stub, + "wdspec": WebdriverSpecTest, + "conformancechecker": ConformanceCheckerTest, + "visual": VisualTest, + "support": SupportFile} + + source_files = {} + + for test_type, type_paths in iteritems(obj["items"]): + if test_type not in item_classes: + raise ManifestError + test_cls = item_classes[test_type] + tests = defaultdict(set) + for path, manifest_tests in iteritems(type_paths): + path = to_os_path(path) + for test in manifest_tests: + manifest_item = test_cls.from_json(self, + tests_root, + path, + test, + source_files=source_files) + tests[path].add(manifest_item) + self._data[test_type] = tests + + return self + + +def load(tests_root, manifest): + logger = get_logger() + + # "manifest" is a path or file-like object. + if isinstance(manifest, basestring): + if os.path.exists(manifest): + logger.debug("Opening manifest at %s" % manifest) + else: + logger.debug("Creating new manifest at %s" % manifest) + try: + with open(manifest) as f: + rv = Manifest.from_json(tests_root, json.load(f)) + except IOError: + return None + return rv + + return Manifest.from_json(tests_root, json.load(manifest)) + + +def write(manifest, manifest_path): + with open(manifest_path, "wb") as f: + json.dump(manifest.to_json(), f, sort_keys=True, indent=1, separators=(',', ': ')) + f.write("\n")
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/sourcefile.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/sourcefile.py new file mode 100644 index 0000000..499518b9e --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/sourcefile.py
@@ -0,0 +1,481 @@ +import hashlib +import re +import os +from six.moves.urllib.parse import urljoin +from fnmatch import fnmatch +try: + from xml.etree import cElementTree as ElementTree +except ImportError: + from xml.etree import ElementTree + +import html5lib + +from . import XMLParser +from .item import Stub, ManualTest, WebdriverSpecTest, RefTestNode, RefTest, TestharnessTest, SupportFile, ConformanceCheckerTest, VisualTest +from .utils import rel_path_to_url, ContextManagerBytesIO, cached_property + +wd_pattern = "*.py" + +reference_file_re = re.compile(r'(^|[\-_])(not)?ref[0-9]*([\-_]|$)') + +def replace_end(s, old, new): + """ + Given a string `s` that ends with `old`, replace that occurrence of `old` + with `new`. + """ + assert s.endswith(old) + return s[:-len(old)] + new + + +class SourceFile(object): + parsers = {"html":lambda x:html5lib.parse(x, treebuilder="etree"), + "xhtml":lambda x:ElementTree.parse(x, XMLParser.XMLParser()), + "svg":lambda x:ElementTree.parse(x, XMLParser.XMLParser())} + + root_dir_non_test = set(["common", + "work-in-progress"]) + + dir_non_test = set(["resources", + "support", + "tools"]) + + dir_path_non_test = {("css21", "archive")} + + def __init__(self, tests_root, rel_path, url_base, contents=None): + """Object representing a file in a source tree. + + :param tests_root: Path to the root of the source tree + :param rel_path: File path relative to tests_root + :param url_base: Base URL used when converting file paths to urls + :param contents: Byte array of the contents of the file or ``None``. + """ + + self.tests_root = tests_root + self.rel_path = os.path.normcase(rel_path) # does slash normalization on Windows + self.url_base = url_base + self.contents = contents + + self.dir_path, self.filename = os.path.split(self.rel_path) + self.name, self.ext = os.path.splitext(self.filename) + + self.type_flag = None + if "-" in self.name: + self.type_flag = self.name.rsplit("-", 1)[1].split(".")[0] + + self.meta_flags = self.name.split(".")[1:] + + self.items_cache = None + + def __getstate__(self): + # Remove computed properties if we pickle this class + rv = self.__dict__.copy() + + if "__cached_properties__" in rv: + cached_properties = rv["__cached_properties__"] + for key in rv.keys(): + if key in cached_properties: + del rv[key] + del rv["__cached_properties__"] + return rv + + def name_prefix(self, prefix): + """Check if the filename starts with a given prefix + + :param prefix: The prefix to check""" + return self.name.startswith(prefix) + + def is_dir(self): + """Return whether this file represents a directory.""" + if self.contents is not None: + return False + + return os.path.isdir(self.rel_path) + + def open(self): + """ + Return either + * the contents specified in the constructor, if any; + * a File object opened for reading the file contents. + """ + + if self.contents is not None: + file_obj = ContextManagerBytesIO(self.contents) + else: + file_obj = open(self.path, 'rb') + return file_obj + + @cached_property + def path(self): + return os.path.join(self.tests_root, self.rel_path) + + @cached_property + def url(self): + return rel_path_to_url(self.rel_path, self.url_base) + + @cached_property + def hash(self): + with self.open() as f: + return hashlib.sha1(f.read()).hexdigest() + + def in_non_test_dir(self): + if self.dir_path == "": + return True + + parts = self.dir_path.split(os.path.sep) + + if parts[0] in self.root_dir_non_test: + return True + elif any(item in self.dir_non_test for item in parts): + return True + else: + for path in self.dir_path_non_test: + if parts[:len(path)] == list(path): + return True + return False + + def in_conformance_checker_dir(self): + return (self.dir_path == "conformance-checkers" or + self.dir_path.startswith("conformance-checkers" + os.path.sep)) + + @property + def name_is_non_test(self): + """Check if the file name matches the conditions for the file to + be a non-test file""" + return (self.is_dir() or + self.name_prefix("MANIFEST") or + self.filename.startswith(".") or + self.in_non_test_dir()) + + @property + def name_is_conformance(self): + return (self.in_conformance_checker_dir() and + self.type_flag in ("is-valid", "no-valid")) + + @property + def name_is_conformance_support(self): + return self.in_conformance_checker_dir() + + @property + def name_is_stub(self): + """Check if the file name matches the conditions for the file to + be a stub file""" + return self.name_prefix("stub-") + + @property + def name_is_manual(self): + """Check if the file name matches the conditions for the file to + be a manual test file""" + return self.type_flag == "manual" + + @property + def name_is_visual(self): + """Check if the file name matches the conditions for the file to + be a visual test file""" + return self.type_flag == "visual" + + @property + def name_is_multi_global(self): + """Check if the file name matches the conditions for the file to + be a multi-global js test file""" + return "any" in self.meta_flags and self.ext == ".js" + + @property + def name_is_worker(self): + """Check if the file name matches the conditions for the file to + be a worker js test file""" + return "worker" in self.meta_flags and self.ext == ".js" + + @property + def name_is_webdriver(self): + """Check if the file name matches the conditions for the file to + be a webdriver spec test file""" + # wdspec tests are in subdirectories of /webdriver excluding __init__.py + # files. + rel_dir_tree = self.rel_path.split(os.path.sep) + return (rel_dir_tree[0] == "webdriver" and + len(rel_dir_tree) > 1 and + self.filename != "__init__.py" and + fnmatch(self.filename, wd_pattern)) + + @property + def name_is_reference(self): + """Check if the file name matches the conditions for the file to + be a reference file (not a reftest)""" + return "/reference/" in self.url or "/reftest/" in self.url or bool(reference_file_re.search(self.name)) + + @property + def markup_type(self): + """Return the type of markup contained in a file, based on its extension, + or None if it doesn't contain markup""" + ext = self.ext + + if not ext: + return None + if ext[0] == ".": + ext = ext[1:] + if ext in ["html", "htm"]: + return "html" + if ext in ["xhtml", "xht", "xml"]: + return "xhtml" + if ext == "svg": + return "svg" + return None + + @cached_property + def root(self): + """Return an ElementTree Element for the root node of the file if it contains + markup, or None if it does not""" + if not self.markup_type: + return None + + parser = self.parsers[self.markup_type] + + with self.open() as f: + try: + tree = parser(f) + except Exception: + return None + + if hasattr(tree, "getroot"): + root = tree.getroot() + else: + root = tree + + return root + + @cached_property + def timeout_nodes(self): + """List of ElementTree Elements corresponding to nodes in a test that + specify timeouts""" + return self.root.findall(".//{http://www.w3.org/1999/xhtml}meta[@name='timeout']") + + @cached_property + def timeout(self): + """The timeout of a test or reference file. "long" if the file has an extended timeout + or None otherwise""" + if self.root is None: + return + + if self.timeout_nodes: + timeout_str = self.timeout_nodes[0].attrib.get("content", None) + if timeout_str and timeout_str.lower() == "long": + return timeout_str + + @cached_property + def viewport_nodes(self): + """List of ElementTree Elements corresponding to nodes in a test that + specify viewport sizes""" + return self.root.findall(".//{http://www.w3.org/1999/xhtml}meta[@name='viewport-size']") + + @cached_property + def viewport_size(self): + """The viewport size of a test or reference file""" + if self.root is None: + return None + + if not self.viewport_nodes: + return None + + return self.viewport_nodes[0].attrib.get("content", None) + + @cached_property + def dpi_nodes(self): + """List of ElementTree Elements corresponding to nodes in a test that + specify device pixel ratios""" + return self.root.findall(".//{http://www.w3.org/1999/xhtml}meta[@name='device-pixel-ratio']") + + @cached_property + def dpi(self): + """The device pixel ratio of a test or reference file""" + if self.root is None: + return None + + if not self.dpi_nodes: + return None + + return self.dpi_nodes[0].attrib.get("content", None) + + @cached_property + def testharness_nodes(self): + """List of ElementTree Elements corresponding to nodes representing a + testharness.js script""" + return self.root.findall(".//{http://www.w3.org/1999/xhtml}script[@src='/resources/testharness.js']") + + @cached_property + def content_is_testharness(self): + """Boolean indicating whether the file content represents a + testharness.js test""" + if self.root is None: + return None + return bool(self.testharness_nodes) + + @cached_property + def variant_nodes(self): + """List of ElementTree Elements corresponding to nodes representing a + test variant""" + return self.root.findall(".//{http://www.w3.org/1999/xhtml}meta[@name='variant']") + + @cached_property + def test_variants(self): + rv = [] + for element in self.variant_nodes: + if "content" in element.attrib: + variant = element.attrib["content"] + assert variant == "" or variant[0] in ["#", "?"] + rv.append(variant) + + if not rv: + rv = [""] + + return rv + + @cached_property + def reftest_nodes(self): + """List of ElementTree Elements corresponding to nodes representing a + to a reftest <link>""" + if self.root is None: + return [] + + match_links = self.root.findall(".//{http://www.w3.org/1999/xhtml}link[@rel='match']") + mismatch_links = self.root.findall(".//{http://www.w3.org/1999/xhtml}link[@rel='mismatch']") + return match_links + mismatch_links + + @cached_property + def references(self): + """List of (ref_url, relation) tuples for any reftest references specified in + the file""" + rv = [] + rel_map = {"match": "==", "mismatch": "!="} + for item in self.reftest_nodes: + if "href" in item.attrib: + ref_url = urljoin(self.url, item.attrib["href"]) + ref_type = rel_map[item.attrib["rel"]] + rv.append((ref_url, ref_type)) + return rv + + @cached_property + def content_is_ref_node(self): + """Boolean indicating whether the file is a non-leaf node in a reftest + graph (i.e. if it contains any <link rel=[mis]match>""" + return bool(self.references) + + @cached_property + def css_flag_nodes(self): + """List of ElementTree Elements corresponding to nodes representing a + flag <meta>""" + if self.root is None: + return [] + return self.root.findall(".//{http://www.w3.org/1999/xhtml}meta[@name='flags']") + + @cached_property + def css_flags(self): + """Set of flags specified in the file""" + rv = set() + for item in self.css_flag_nodes: + if "content" in item.attrib: + for flag in item.attrib["content"].split(): + rv.add(flag) + return rv + + @cached_property + def content_is_css_manual(self): + """Boolean indicating whether the file content represents a + CSS WG-style manual test""" + if self.root is None: + return None + # return True if the intersection between the two sets is non-empty + return bool(self.css_flags & {"animated", "font", "history", "interact", "paged", "speech", "userstyle"}) + + @cached_property + def spec_link_nodes(self): + """List of ElementTree Elements corresponding to nodes representing a + <link rel=help>, used to point to specs""" + if self.root is None: + return [] + return self.root.findall(".//{http://www.w3.org/1999/xhtml}link[@rel='help']") + + @cached_property + def spec_links(self): + """Set of spec links specified in the file""" + rv = set() + for item in self.spec_link_nodes: + if "href" in item.attrib: + rv.add(item.attrib["href"]) + return rv + + @cached_property + def content_is_css_visual(self): + """Boolean indicating whether the file content represents a + CSS WG-style manual test""" + if self.root is None: + return None + return bool(self.ext in {'.xht', '.html', '.xhtml', '.htm', '.xml', '.svg'} and + self.spec_links) + + @property + def type(self): + rv, _ = self.manifest_items() + return rv + + def manifest_items(self): + """List of manifest items corresponding to the file. There is typically one + per test, but in the case of reftests a node may have corresponding manifest + items without being a test itself.""" + + if self.items_cache: + return self.items_cache + + if self.name_is_non_test: + rv = "support", [SupportFile(self)] + + elif self.name_is_stub: + rv = Stub.item_type, [Stub(self, self.url)] + + elif self.name_is_manual: + rv = ManualTest.item_type, [ManualTest(self, self.url)] + + elif self.name_is_conformance: + rv = ConformanceCheckerTest.item_type, [ConformanceCheckerTest(self, self.url)] + + elif self.name_is_conformance_support: + rv = "support", [SupportFile(self)] + + elif self.name_is_visual: + rv = VisualTest.item_type, [VisualTest(self, self.url)] + + elif self.name_is_multi_global: + rv = TestharnessTest.item_type, [ + TestharnessTest(self, replace_end(self.url, ".any.js", ".any.html")), + TestharnessTest(self, replace_end(self.url, ".any.js", ".any.worker.html")), + ] + + elif self.name_is_worker: + rv = (TestharnessTest.item_type, + [TestharnessTest(self, replace_end(self.url, ".worker.js", ".worker.html"))]) + + elif self.name_is_webdriver: + rv = WebdriverSpecTest.item_type, [WebdriverSpecTest(self, self.url)] + + elif self.content_is_css_manual and not self.name_is_reference: + rv = ManualTest.item_type, [ManualTest(self, self.url)] + + elif self.content_is_testharness: + rv = TestharnessTest.item_type, [] + for variant in self.test_variants: + url = self.url + variant + rv[1].append(TestharnessTest(self, url, timeout=self.timeout)) + + elif self.content_is_ref_node: + rv = (RefTestNode.item_type, + [RefTestNode(self, self.url, self.references, timeout=self.timeout, + viewport_size=self.viewport_size, dpi=self.dpi)]) + + elif self.content_is_css_visual and not self.name_is_reference: + rv = VisualTest.item_type, [VisualTest(self, self.url)] + + else: + rv = "support", [SupportFile(self)] + + self.items_cache = rv + + return rv
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/update.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/update.py new file mode 100755 index 0000000..be34441 --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/update.py
@@ -0,0 +1,104 @@ +#!/usr/bin/env python +import argparse +import imp +import os +import sys + +import manifest +from . import vcs +from .log import get_logger + +here = os.path.dirname(__file__) + + +def update(tests_root, manifest, working_copy=False): + tree = None + if not working_copy: + tree = vcs.Git.for_path(tests_root, manifest.url_base) + if tree is None: + tree = vcs.FileSystem(tests_root, manifest.url_base) + + return manifest.update(tree) + + +def update_from_cli(**kwargs): + tests_root = kwargs["tests_root"] + path = kwargs["path"] + assert tests_root is not None + + m = None + logger = get_logger() + + if not kwargs.get("rebuild", False): + try: + m = manifest.load(tests_root, path) + except manifest.ManifestVersionMismatch: + logger.info("Manifest version changed, rebuilding") + m = None + else: + logger.info("Updating manifest") + + if m is None: + m = manifest.Manifest(kwargs["url_base"]) + + changed = update(tests_root, + m, + working_copy=kwargs["work"]) + if changed: + manifest.write(m, path) + + +def abs_path(path): + return os.path.abspath(os.path.expanduser(path)) + + +def create_parser(): + parser = argparse.ArgumentParser() + parser.add_argument( + "-p", "--path", type=abs_path, help="Path to manifest file.") + parser.add_argument( + "--tests-root", type=abs_path, help="Path to root of tests.") + parser.add_argument( + "-r", "--rebuild", action="store_true", default=False, + help="Force a full rebuild of the manifest.") + parser.add_argument( + "--work", action="store_true", default=False, + help="Build from the working tree rather than the latest commit") + parser.add_argument( + "--url-base", action="store", default="/", + help="Base url to use as the mount point for tests in this manifest.") + return parser + + +def find_top_repo(): + path = here + rv = None + while path != "/": + if vcs.is_git_repo(path): + rv = path + path = os.path.abspath(os.path.join(path, os.pardir)) + + return rv + + +def main(default_tests_root=None): + opts = create_parser().parse_args() + + if opts.tests_root is None: + tests_root = None + if default_tests_root is not None: + tests_root = default_tests_root + else: + tests_root = find_top_repo() + + if tests_root is None: + print >> sys.stderr, """No git repo found; could not determine test root. +Run again with --test-root""" + sys.exit(1) + + opts.tests_root = tests_root + + if opts.path is None: + opts.path = os.path.join(opts.tests_root, "MANIFEST.json") + + update_from_cli(**vars(opts))
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/utils.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/utils.py new file mode 100644 index 0000000..d9be750 --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/utils.py
@@ -0,0 +1,51 @@ +import platform +import os + +from six import BytesIO + +def rel_path_to_url(rel_path, url_base="/"): + assert not os.path.isabs(rel_path) + if url_base[0] != "/": + url_base = "/" + url_base + if url_base[-1] != "/": + url_base += "/" + return url_base + rel_path.replace(os.sep, "/") + + +def from_os_path(path): + assert os.path.sep == "/" or platform.system() == "Windows" + rv = path.replace(os.path.sep, "/") + if "\\" in rv: + raise ValueError("path contains \\ when separator is %s" % os.path.sep) + return rv + + +def to_os_path(path): + assert os.path.sep == "/" or platform.system() == "Windows" + if "\\" in path: + raise ValueError("normalised path contains \\") + return path.replace("/", os.path.sep) + + +class ContextManagerBytesIO(BytesIO): + def __enter__(self): + return self + + def __exit__(self, *args, **kwargs): + self.close() + + +class cached_property(object): + def __init__(self, func): + self.func = func + self.__doc__ = getattr(func, "__doc__") + self.name = func.__name__ + + def __get__(self, obj, cls=None): + if obj is None: + return self + + if self.name not in obj.__dict__: + obj.__dict__[self.name] = self.func(obj) + obj.__dict__.setdefault("__cached_properties__", set()).add(self.name) + return obj.__dict__[self.name]
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/vcs.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/vcs.py new file mode 100644 index 0000000..010bce81 --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/manifest/vcs.py
@@ -0,0 +1,91 @@ +import os +import subprocess + +from .sourcefile import SourceFile + + +class Git(object): + def __init__(self, repo_root, url_base): + self.root = os.path.abspath(repo_root) + self.git = Git.get_func(repo_root) + self.url_base = url_base + + @staticmethod + def get_func(repo_path): + def git(cmd, *args): + full_cmd = ["git", cmd] + list(args) + return subprocess.check_output(full_cmd, cwd=repo_path, stderr=subprocess.STDOUT) + return git + + @classmethod + def for_path(cls, path, url_base): + git = Git.get_func(path) + try: + return cls(git("rev-parse", "--show-toplevel").rstrip(), url_base) + except subprocess.CalledProcessError: + return None + + def _local_changes(self): + changes = {} + cmd = ["status", "-z", "--ignore-submodules=all"] + data = self.git(*cmd) + + if data == "": + return changes + + rename_data = None + for entry in data.split("\0")[:-1]: + if rename_data is not None: + status, rel_path = entry.split(" ") + if status[0] == "R": + rename_data = (rel_path, status) + else: + changes[rel_path] = (status, None) + else: + rel_path = entry + changes[rel_path] = rename_data + rename_data = None + return changes + + def _show_file(self, path): + path = os.path.relpath(os.path.abspath(path), self.root) + return self.git("show", "HEAD:%s" % path) + + def __iter__(self): + cmd = ["ls-tree", "-r", "-z", "--name-only", "HEAD"] + local_changes = self._local_changes() + for rel_path in self.git(*cmd).split("\0")[:-1]: + if not os.path.isdir(os.path.join(self.root, rel_path)): + if rel_path in local_changes: + contents = self._show_file(rel_path) + else: + contents = None + yield SourceFile(self.root, + rel_path, + self.url_base, + contents=contents) + + +class FileSystem(object): + def __init__(self, root, url_base): + self.root = root + self.url_base = url_base + from gitignore import gitignore + self.path_filter = gitignore.PathFilter(self.root) + + def __iter__(self): + is_root = True + for dir_path, dir_names, filenames in os.walk(self.root): + rel_root = os.path.relpath(dir_path, self.root) + + if is_root: + dir_names[:] = [item for item in dir_names if item not in + ["tools", "resources", ".git"]] + is_root = False + + for filename in filenames: + rel_path = os.path.join(rel_root, filename) + if self.path_filter(rel_path): + yield SourceFile(self.root, + rel_path, + self.url_base)
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/serve/serve.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/serve/serve.py index 211c644..90ccbc7 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/serve/serve.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/serve/serve.py
@@ -275,7 +275,7 @@ domain = "%s.%s" % (punycode, host) try: urllib2.urlopen("http://%s:%d/" % (domain, port)) - except Exception as error: + except Exception as e: logger.critical("Failed probing domain %s. You may need to edit /etc/hosts or similar." % domain) sys.exit(1)
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/handlers.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/handlers.py index 3ded61d..9cc1f73 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/handlers.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/handlers.py
@@ -120,7 +120,7 @@ if "Range" in request.headers: try: byte_ranges = RangeParser()(request.headers['Range'], file_size) - except HTTPException as error: + except HTTPException as e: if e.code == 416: response.headers.set("Content-Range", "bytes */%i" % file_size) raise
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py index 954a026..0ab512c 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py
@@ -252,9 +252,9 @@ else: try: handler(request, response) - except HTTPException as error: + except HTTPException as e: response.set_error(e.code, e.message) - except Exception as error: + except Exception as e: if e.message: err = [e.message] else: @@ -281,12 +281,12 @@ # Ensure that the whole request has been read from the socket request.raw_input.read() - except socket.timeout as error: + except socket.timeout as e: self.log_error("Request timed out: %r", e) self.close_connection = True return - except Exception as error: + except Exception as e: err = traceback.format_exc() if response: response.set_error(500, err)
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/deps_updater.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/deps_updater.py index 56ab91e..c3ef8a7 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/deps_updater.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/deps_updater.py
@@ -158,8 +158,8 @@ Runs the (newly-updated) manifest command if it's found, and then stages the generated MANIFEST.json in the git index, ready to commit. """ - manifest_command = self.fs.join(original_repo_path, 'manifest') - if not self.fs.exists(manifest_command): + manifest_command = self.finder.path_from_webkit_base('Tools', 'Scripts', 'webkitpy', 'thirdparty', 'wpt', 'manifest') + if 'css' in dest_path: # Do nothing for csswg-test. return _log.info('Generating MANIFEST.json')
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/deps_updater_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/deps_updater_unittest.py index 46427f5..221c58f 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/deps_updater_unittest.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/deps_updater_unittest.py
@@ -104,9 +104,6 @@ # This test doesn't test any aspect of the real manifest script, it just # asserts that DepsUpdater._generate_manifest would invoke the script. host = MockHost() - host.filesystem.files = { - '/mock-checkout/third_party/WebKit/wpt/manifest': 'dummy content' - } updater = DepsUpdater(host) updater._generate_manifest( '/mock-checkout/third_party/WebKit/wpt', @@ -115,7 +112,7 @@ host.executive.calls, [ [ - '/mock-checkout/third_party/WebKit/wpt/manifest', + '/mock-checkout/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/manifest', '--work', '--tests-root', '/mock-checkout/third_party/WebKit/LayoutTests/imported/wpt'
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py index 12b0235..512d0bd 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
@@ -82,6 +82,7 @@ # This limit is here because the Windows builders cannot create paths that are # longer than the Windows max path length (260). See http://crbug.com/609871. MAX_PATH_LENGTH = 125 +MAX_FILE_SIZE_BYTES = 800 * 1024 _log = logging.getLogger(__name__) @@ -374,7 +375,8 @@ dest_dir: Path to the directory where the file should be copied. Returns: - The path to the new file, relative to the Blink root (//third_party/WebKit). + The path to the new file, relative to the Blink root, + or None if the file should not be copied. """ source_path = self.filesystem.normpath(file_to_copy['src']) dest_path = self.filesystem.join(dest_dir, file_to_copy['dest']) @@ -387,6 +389,10 @@ _log.error('%s not found. Possible error in the test.', source_path) return None + if self.filesystem.getsize(source_path) > MAX_FILE_SIZE_BYTES: + _log.error('%s is too large (%d bytes)', source_path, self.filesystem.getsize(source_path)) + return None + if file_to_copy.get('reference_support_info'): reference_support_info = file_to_copy['reference_support_info'] else:
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer_unittest.py index 1ff68fe..4da4391 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer_unittest.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer_unittest.py
@@ -32,6 +32,7 @@ from webkitpy.common.system.executive_mock import MockExecutive, ScriptError from webkitpy.common.system.filesystem_mock import MockFileSystem from webkitpy.w3c.test_importer import TestImporter +from webkitpy.common.system.log_testing import LoggingTestCase FAKE_SOURCE_REPO_DIR = '/blink' @@ -49,7 +50,7 @@ } -class TestImporterTest(unittest.TestCase): +class TestImporterTest(LoggingTestCase): @staticmethod def options(**kwargs): @@ -165,6 +166,29 @@ importer.find_importable_tests() self.assertEqual(importer.import_list, []) + def test_large_files_are_skipped(self): + host = MockHost() + host.filesystem = MockFileSystem(files={ + '/blink/w3c/dir1/my-large-test.html': '...', + '/blink/w3c/dir1/my-small-test.html': '...', + '/mock-checkout/third_party/WebKit/LayoutTests/W3CImportExpectations': '', + '/mock-checkout/third_party/WebKit/Source/core/css/CSSProperties.in': '', + }) + + def getsize(path): + if 'large' in path: + return 1000000 + return 100 + host.filesystem.getsize = getsize + + importer = TestImporter(host, FAKE_SOURCE_REPO_DIR, self.options()) + importer.do_import() + self.assertIn('ERROR: /blink/w3c/dir1/my-large-test.html is too large (1000000 bytes)\n', self.logMessages()) + self.assertTrue(host.filesystem.exists( + '/mock-checkout/third_party/WebKit/LayoutTests/w3c/blink/w3c/dir1/my-small-test.html')) + self.assertFalse(host.filesystem.exists( + '/mock-checkout/third_party/WebKit/LayoutTests/w3c/blink/w3c/dir1/my-large-test.html')) + def test_should_try_to_convert_positive_cases(self): self.assertTrue(TestImporter.should_try_to_convert({}, 'foo.css', 'LayoutTests/imported/csswg-test/x')) self.assertTrue(TestImporter.should_try_to_convert({}, 'foo.htm', 'LayoutTests/imported/csswg-test/x'))
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index f0f798a..0d7e7e5 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -88803,6 +88803,10 @@ <int value="1751" label="TopNavInSandboxWithPerm"/> <int value="1752" label="TopNavInSandboxWithPermButNoGesture"/> <int value="1753" label="ReferrerPolicyHeader"/> + <int value="1754" label="HTMLAnchorElementReferrerPolicyAttribute"/> + <int value="1755" label="HTMLIFrameElementReferrerPolicyAttribute"/> + <int value="1756" label="HTMLImageElementReferrerPolicyAttribute"/> + <int value="1757" label="HTMLLinkElementReferrerPolicyAttribute"/> </enum> <enum name="FetchRequestMode" type="int">
diff --git a/ui/file_manager/audio_player/css/audio_player.css b/ui/file_manager/audio_player/css/audio_player.css index 79e1af6..0214cbc 100644 --- a/ui/file_manager/audio_player/css/audio_player.css +++ b/ui/file_manager/audio_player/css/audio_player.css
@@ -7,13 +7,13 @@ } body { - -webkit-user-select: none; display: flex; flex-direction: column; height: 100%; margin: 0; overflow: hidden; padding: 0; + user-select: none; } .header {
diff --git a/ui/file_manager/file_manager/foreground/css/combobutton.css b/ui/file_manager/file_manager/foreground/css/combobutton.css index fe9fdf1b..2221d9b8 100644 --- a/ui/file_manager/file_manager/foreground/css/combobutton.css +++ b/ui/file_manager/file_manager/foreground/css/combobutton.css
@@ -3,7 +3,6 @@ * found in the LICENSE file. */ .dialog-header button.combobutton { - -webkit-user-select: none; align-items: stretch; background: transparent; border: none; @@ -15,6 +14,7 @@ outline: none; padding: 8px; position: relative; + user-select: none; } .dialog-header .combobutton > .button {
diff --git a/ui/file_manager/file_manager/foreground/css/common.css b/ui/file_manager/file_manager/foreground/css/common.css index 32475ab..d212ea9 100644 --- a/ui/file_manager/file_manager/foreground/css/common.css +++ b/ui/file_manager/file_manager/foreground/css/common.css
@@ -112,7 +112,6 @@ /* Style for <button>s to have similar style with Polymer's <paper-button>. */ .imitate-paper-button, .cr-dialog-buttons > button { - -webkit-user-select: none; background: transparent; border: 0; border-image: none; @@ -131,6 +130,7 @@ position: relative; text-align: center; text-transform: uppercase; + user-select: none; z-index: 0; } @@ -195,7 +195,6 @@ /* Pop-up dialogs. */ .cr-dialog-container { - -webkit-user-select: none; align-items: center; display: flex; height: 100%; @@ -205,6 +204,7 @@ position: absolute; top: 0; transition: opacity 250ms linear; + user-select: none; width: 100%; z-index: 9999; }
diff --git a/ui/file_manager/file_manager/foreground/css/file_manager.css b/ui/file_manager/file_manager/foreground/css/file_manager.css index 85f63f4d..8e3b28c7 100644 --- a/ui/file_manager/file_manager/foreground/css/file_manager.css +++ b/ui/file_manager/file_manager/foreground/css/file_manager.css
@@ -34,7 +34,6 @@ /* Outer frame of the dialog. */ body { -webkit-tap-highlight-color: transparent; - -webkit-user-select: none; cursor: default; display: flex; flex: auto; @@ -43,6 +42,7 @@ height: 100%; margin: 0; padding: 0; + user-select: none; width: 100%; } @@ -721,7 +721,6 @@ /* Copy style from paper-button for buttons on the footer. */ .dialog-footer button { - -webkit-user-select: none; background: transparent; border: 0; border-image: none; @@ -736,6 +735,7 @@ text-align: center; text-transform: uppercase; transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); + user-select: none; z-index: 0; }
diff --git a/ui/file_manager/file_manager/foreground/css/list.css b/ui/file_manager/file_manager/foreground/css/list.css index 7e4ae21f..da502531 100644 --- a/ui/file_manager/file_manager/foreground/css/list.css +++ b/ui/file_manager/file_manager/foreground/css/list.css
@@ -15,9 +15,9 @@ list > *, grid > * { - -webkit-user-select: none; position: relative; /* to allow overlap */ text-overflow: ellipsis; + user-select: none; white-space: pre; }
diff --git a/ui/file_manager/file_manager/foreground/css/table.css b/ui/file_manager/file_manager/foreground/css/table.css index 38b003f..e631ea0 100644 --- a/ui/file_manager/file_manager/foreground/css/table.css +++ b/ui/file_manager/file_manager/foreground/css/table.css
@@ -35,11 +35,11 @@ } .table-header-inner { - -webkit-user-select: none; cursor: default; display: flex; position: relative; text-align: start; + user-select: none; } .table-header-cell {
diff --git a/ui/file_manager/file_manager/foreground/css/tree.css b/ui/file_manager/file_manager/foreground/css/tree.css index 517d7d1..a5edc2f 100644 --- a/ui/file_manager/file_manager/foreground/css/tree.css +++ b/ui/file_manager/file_manager/foreground/css/tree.css
@@ -11,9 +11,9 @@ } .tree-item > .tree-row { - -webkit-user-select: none; cursor: default; position: relative; + user-select: none; white-space: nowrap; } @@ -84,5 +84,5 @@ .tree-rename > .tree-row > .tree-label { -webkit-user-modify: read-write-plaintext-only; - -webkit-user-select: auto; + user-select: auto; }
diff --git a/ui/file_manager/file_manager/foreground/elements/files_metadata_box.html b/ui/file_manager/file_manager/foreground/elements/files_metadata_box.html index 9217cb76..8656094 100644 --- a/ui/file_manager/file_manager/foreground/elements/files_metadata_box.html +++ b/ui/file_manager/file_manager/foreground/elements/files_metadata_box.html
@@ -51,7 +51,7 @@ <div class="category" hidden="[[!isImage_(type)]]" i18n-content="METADATA_BOX_IMAGE_INFO"></div> <div class="category" hidden="[[!isAudio_(type)]]" i18n-content="METADATA_BOX_AUDIO_INFO"></div> <div class="category" hidden="[[!isVideo_(type)]]" i18n-content="METADATA_BOX_VIDEO_INFO"></div> - <files-metadata-entry i18n-values="key:METADATA_BOX_RESOLUTION" value="[[resolution_(imageWidth, imageHeight)]]"></files-metadata-entry> + <files-metadata-entry i18n-values="key:METADATA_BOX_DIMENSION" value="[[dimension_(imageWidth, imageHeight)]]"></files-metadata-entry> <files-metadata-entry i18n-values="key:METADATA_BOX_ALBUM_TITLE" value="[[mediaAlbum]]"></files-metadata-entry> <files-metadata-entry i18n-values="key:METADATA_BOX_MEDIA_TITLE" value="[[mediaTitle]]"></files-metadata-entry> <files-metadata-entry i18n-values="key:METADATA_BOX_MEDIA_ARTIST" value="[[mediaArtist]]"></files-metadata-entry>
diff --git a/ui/file_manager/file_manager/foreground/elements/files_metadata_box.js b/ui/file_manager/file_manager/foreground/elements/files_metadata_box.js index f340995..bf36d4c81 100644 --- a/ui/file_manager/file_manager/foreground/elements/files_metadata_box.js +++ b/ui/file_manager/file_manager/foreground/elements/files_metadata_box.js
@@ -153,7 +153,7 @@ * * @private */ - resolution_: function(imageWidth, imageHeight) { + dimension_: function(imageWidth, imageHeight) { if (imageWidth && imageHeight) return imageWidth + " x " + imageHeight; return '';
diff --git a/ui/file_manager/file_manager/foreground/elements/files_quick_view.css b/ui/file_manager/file_manager/foreground/elements/files_quick_view.css index 242da315..60610bb3 100644 --- a/ui/file_manager/file_manager/foreground/elements/files_quick_view.css +++ b/ui/file_manager/file_manager/foreground/elements/files_quick_view.css
@@ -29,7 +29,7 @@ } paper-button:focus:not(:active) { - box-shadow: 0 0 0 2px rgba(191, 191, 191, 0.5); + box-shadow: 0 0 0 1px rgba(66, 133, 244, 0.5); } #audio-artwork {
diff --git a/ui/file_manager/gallery/css/gallery.css b/ui/file_manager/gallery/css/gallery.css index deaf8c02..803add4f 100644 --- a/ui/file_manager/gallery/css/gallery.css +++ b/ui/file_manager/gallery/css/gallery.css
@@ -3,10 +3,10 @@ * found in the LICENSE file. */ body { - -webkit-user-select: none; background-color: black; font-size: 84%; margin: 0; + user-select: none; } button {
diff --git a/ui/file_manager/gallery/gallery.html b/ui/file_manager/gallery/gallery.html index fadc886..cb4d3fc 100644 --- a/ui/file_manager/gallery/gallery.html +++ b/ui/file_manager/gallery/gallery.html
@@ -125,12 +125,12 @@ </button> <!-- Use button element for mode button to implement toggle switch -- button. --> - <button class="mode icon-button" disabled> - <div class="icon slide-mode" i18n-values="aria-label:GALLERY_SLIDE" - has-tooltip></div> - <div class="icon thumbnail-mode" - i18n-values="aria-label:GALLERY_THUMBNAIL" - has-tooltip></div> + <button class="mode icon-button" + i18n-values="aria-label:GALLERY_THUMBNAIL" + has-tooltip + disabled> + <div class="icon slide-mode"></div> + <div class="icon thumbnail-mode"></div> <files-ripple></files-ripple> </button> <button class="slideshow icon-button"
diff --git a/ui/file_manager/gallery/js/gallery.js b/ui/file_manager/gallery/js/gallery.js index 1bbde321..79cae82a 100644 --- a/ui/file_manager/gallery/js/gallery.js +++ b/ui/file_manager/gallery/js/gallery.js
@@ -506,6 +506,7 @@ this.container_.setAttribute('mode', this.currentMode_.getName()); this.updateSelectionAndState_(); + this.updateModeButtonAttribute_(); }; /** @@ -538,6 +539,17 @@ }; /** + * Update attributes of slide/thumbnail toggle button + * @private + */ +Gallery.prototype.updateModeButtonAttribute_ = function() { + if (this.currentMode_ === this.slideMode_) + this.modeSwitchButton_.setAttribute("aria-label", str("GALLERY_THUMBNAIL")); + else + this.modeSwitchButton_.setAttribute("aria-label", str("GALLERY_SLIDE")); +}; + +/** * Change current mode. * @param {!(SlideMode|ThumbnailMode)} mode Target mode. * @param {Event=} opt_event Event that caused this call.
diff --git a/ui/file_manager/video_player/css/video_player.css b/ui/file_manager/video_player/css/video_player.css index 5699800d..5abcbbe 100644 --- a/ui/file_manager/video_player/css/video_player.css +++ b/ui/file_manager/video_player/css/video_player.css
@@ -3,11 +3,11 @@ * found in the LICENSE file. */ body { - -webkit-user-select: none; background: black; font-size: 84%; margin: 0; overflow: hidden; + user-select: none; } #video-player {
diff --git a/ui/webui/resources/css/chrome_shared.css b/ui/webui/resources/css/chrome_shared.css index 25d595b..888b732f 100644 --- a/ui/webui/resources/css/chrome_shared.css +++ b/ui/webui/resources/css/chrome_shared.css
@@ -38,10 +38,10 @@ h1, h2, h3 { - -webkit-user-select: none; font-weight: normal; /* Makes the vertical size of the text the same for all fonts. */ line-height: 1; + user-select: none; } h1 {
diff --git a/ui/webui/resources/css/dialogs.css b/ui/webui/resources/css/dialogs.css index fde32aab..a20bc24 100644 --- a/ui/webui/resources/css/dialogs.css +++ b/ui/webui/resources/css/dialogs.css
@@ -6,13 +6,13 @@ -webkit-box-align: center; -webkit-box-pack: center; -webkit-transition: opacity 250ms linear; - -webkit-user-select: none; display: -webkit-box; height: 100%; left: 0; overflow: hidden; position: absolute; top: 0; + user-select: none; width: 100%; z-index: 9999; }
diff --git a/ui/webui/resources/css/expandable_bubble.css b/ui/webui/resources/css/expandable_bubble.css index 3afad030..bbbb3e6 100644 --- a/ui/webui/resources/css/expandable_bubble.css +++ b/ui/webui/resources/css/expandable_bubble.css
@@ -6,13 +6,13 @@ -webkit-border-image: url(chrome://theme/IDR_APP_NOTIFICATION_SMALL_BUBBLE) 5 5 7 6 stretch; -webkit-box-sizing: border-box; - -webkit-user-select: none; border-width: 5px 5px 7px 6px; color: #444; cursor: pointer; display: inline-block; font-size: 12px; position: absolute; + user-select: none; z-index: 1; }
diff --git a/ui/webui/resources/css/list.css b/ui/webui/resources/css/list.css index e4d756a9..fb1b2e05 100644 --- a/ui/webui/resources/css/list.css +++ b/ui/webui/resources/css/list.css
@@ -13,7 +13,6 @@ list > *, grid > * { - -webkit-user-select: none; background-color: rgba(255, 255, 255, 0); border: 1px solid rgba(255, 255, 255, 0); /* transparent white */ border-radius: 2px; @@ -24,6 +23,7 @@ padding: 0 3px; position: relative; /* to allow overlap */ text-overflow: ellipsis; + user-select: none; white-space: pre; }
diff --git a/ui/webui/resources/css/overlay.css b/ui/webui/resources/css/overlay.css index 3b3340d..b8d7af51c 100644 --- a/ui/webui/resources/css/overlay.css +++ b/ui/webui/resources/css/overlay.css
@@ -99,7 +99,6 @@ .overlay .page h1 { -webkit-padding-end: 24px; - -webkit-user-select: none; color: #333; /* 120% of the body's font-size of 84% is 16px. This will keep the relative * size between the body and these titles consistent. */ @@ -111,6 +110,7 @@ margin: 0; padding: 14px 17px 14px; text-shadow: white 0 1px 2px; + user-select: none; } .overlay .page .content-area {
diff --git a/ui/webui/resources/css/table.css b/ui/webui/resources/css/table.css index 1d59b7a..11394ff 100644 --- a/ui/webui/resources/css/table.css +++ b/ui/webui/resources/css/table.css
@@ -63,11 +63,11 @@ } .table-header-inner { - -webkit-user-select: none; cursor: default; display: -webkit-box; position: relative; text-align: start; + user-select: none; } .table-header-cell {
diff --git a/ui/webui/resources/css/tree.css b/ui/webui/resources/css/tree.css index 2681f5e..8b1e368 100644 --- a/ui/webui/resources/css/tree.css +++ b/ui/webui/resources/css/tree.css
@@ -9,7 +9,6 @@ } .tree-item > .tree-row { - -webkit-user-select: none; background-color: rgba(255, 255, 255, 0); border: 1px solid rgba(255, 255, 255, 0); /* transparent white */ border-radius: 2px; @@ -18,6 +17,7 @@ line-height: 28px; padding: 0 3px; position: relative; + user-select: none; white-space: nowrap; } @@ -152,10 +152,10 @@ .tree-rename > .tree-row > .tree-label { -webkit-user-modify: read-write-plaintext-only; - -webkit-user-select: auto; background: white; color: black; outline: 1px solid black; + user-select: auto; } .tree-item[editing] input {
diff --git a/ui/webui/resources/css/widgets.css b/ui/webui/resources/css/widgets.css index 0cd35701..530db78 100644 --- a/ui/webui/resources/css/widgets.css +++ b/ui/webui/resources/css/widgets.css
@@ -17,7 +17,6 @@ input[type='checkbox'], input[type='radio'] { -webkit-appearance: none; - -webkit-user-select: none; background-image: -webkit-linear-gradient(#ededed, #ededed 38%, #dedede); border: 1px solid rgba(0, 0, 0, 0.25); border-radius: 2px; @@ -28,6 +27,7 @@ margin: 0 1px 0 0; outline: none; text-shadow: 0 1px 0 rgb(240, 240, 240); + user-select: none; } :-webkit-any(button, @@ -118,12 +118,12 @@ /* Checked ********************************************************************/ input[type='checkbox']:checked::before { - -webkit-user-select: none; background-image: url(../images/check.png); background-size: 100% 100%; content: ''; display: block; height: 100%; + user-select: none; width: 100%; } @@ -256,12 +256,12 @@ */ :-webkit-any(.checkbox, .radio) label { - -webkit-user-select: none; /* Don't expand horizontally: <http://crbug.com/112091>. */ align-items: center; display: inline-flex; padding-bottom: 7px; padding-top: 7px; + user-select: none; } :-webkit-any(.checkbox, .radio) label input {